№5 Dars — Yiida PDF bilan ishlash.
Biror bir qilayotgan proyektimizda hisobotlarni pdf formatiga o`tkazish kabi ishlarga duch kelamiz. Bunda Yii ning maxsus kengaytmalaridan foydalanish maqsadga muvofiqdir. Shulardan biri
tcpdf kengaytmasidir. Bu haqida ushbuhttp://www.yiiframework.com/extension/tcpdf giper murojaat orqali batafsil tanishishingiz mumkin. Biz faqatgina misol bilan sizda Yii da qilingan proyektlaringizni hisobotlarini pdf ga o`tkazish masalasini ko`rib chiqamiz.
Masalani qo`yilishi:
Ma`lumotlar omboridagi employee jadvalini barcha ma`lumotlarini olib uni tartib bo`yicha jadval ko`rinishida pdf formatiga o`tkazish:
Yechimi:
1.
http://www.yiiframework.com/extension/tcpdf — giper murojaat orqali TCPDF faylini o`zimizga ko`chirib olamiz va /protected/extensions/tcpdf ga joylaymiz
2.
http://www.tcpdf.org/ saytiga kiramiz va ushbu «tcpdf» faylni o`zimizga ko`chiramiz. Keyin/protected/extensions/tcpdf/tcpdf ga joylaymiz.
3. Biz fayllarimizni ushbu ko`rinishda joylayshtirgan bo`lamiz:
4.Endi jadval yaratish kerak bo`ladi. Buning uchun quyidagicha kod orqali ma`lumotlar omboringizda jadval hosil qiling va uni to`ldiring
CREATE TABLE `employee` ( `ID` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'ID сотрудника', `firstName` VARCHAR(30) NOT NULL, `lastName` VARCHAR(40) NOT NULL, `address` TEXT NULL DEFAULT NULL, `phoneNumber` TEXT NULL DEFAULT NULL, PRIMARY KEY (`ID`) ) COLLATE='utf8_general_ci' ENGINE=InnoDB; INSERT INTO `employee` (`firstName`, `lastName`, `address`, `phoneNumber`) VALUES ('Obidjon', 'Sobirjonov', 'Yakkasaroy tumani', '123-65-32'); INSERT INTO `employee` (`firstName`, `lastName`, `address`, `phoneNumber`) VALUES ('Karimbek', 'Sharipov', 'Shayhontohur tumani', '994-44-31'); INSERT INTO `employee` (`firstName`, `lastName`, `address`, `phoneNumber`) VALUES ('Foziljon', 'Hakimov', 'Yunusobod tumani', '333-44-55');
Employee jadvali yaratilib ma`lumotlar qo`shilgandan keyin shu jadval uchun Yii ning Gii generatori orqali model yaratamiz.
5.Endi controllerimizda action hosil qilamiz va quyidagicha kod kiritamiz:
public function actionPrint() { $pdf = Yii::createComponent( 'application.extensions.tcpdf.ETcPdf', 'P', 'cm', 'A4', true, 'UTF-8' ); $pdf->SetCreator(PDF_CREATOR); $pdf->SetAuthor("FirstName"); $pdf->SetTitle("Orders"); $pdf->SetSubject("Orders"); $pdf->SetKeywords("Orders"); $pdf->setPrintHeader(false); $pdf->setPrintFooter(false); $pdf->AddPage(); $pdf->SetFont('freeserif', '', 14); $tbl = "" . date('d.m.Y', time()) . " "; $pdf->SetFont('freeserif', '', 10); $tbl .= ''; $printOrders = null; $employee = Employee::model()->findAll(); $tbl .= "
Employee | Address |
---|---|
FIO: {$value->firstName} — {$value->lastName} Phone Number: |
{$value->address} |
«;
$pdf->writeHTML($tbl, true, false, false, false, »);
$pdf->Output(‘filename.pdf’, ‘I’);
}
Natija:
14.05.2014
Albatta bu boshlang`ich kichik bir misol edi, har xil turdagi pdf lar bilan ishlash kerak bo`lsa www.tcpdf.org saytidan batafsil ma`lumot olishingiz mumkin.
Ushbu ma`lumot http://belyakov.su/content/yii-sozdanie-pdf dan olindi.
Manba:
Web Dasturlash
№5 Dars — Yiida PDF bilan ishlash.