Trong bài hướng dẫn này, chúng ta sẽ tạo một PDF helper
sử dụng thư viện TCPDF. Chúng ta tập trung vào tạo một helper class như thế nào
trong CakePHP. Nếu bạn muốn tìm hiểu thêm về TCPDF để sử dụng tốt chúng. Vui
lòng truy cập địa chỉ http://www.tcpdf.org
Mục lục
1.Chuẩn bị2. PDF helper class
3. Sử dụng
4. Kết luận
Nội dung chi tiết
1. Chuẩn bị
Download TCPDF từ trang http://www.tcpdf.org
Giải nén và copy vào “app/vendors/tcpdf”
2. PDF Helper class
Tạo file “pdf.php” trong thư mục “app/views/helpers/pdf.php”.
Code cho file này như sau:
<?php App::import('Vendor','TCPDF',array('file' => 'tcpdf/tcpdf.php')); class PdfHelper extends AppHelper { var $core; function PdfHelper() { $this->core = new TCPDF(); } } ?>
Import class TCPDF từ thư mục vendor
Extend PdfHelper từ AppHelper class.
Những dòng code phía trên chúng ta đã cài đặt lớp PdfHelper
là lớp đại diện cho TCPDF. Bất cứ lúc nào chúng ta cần dùng các hàm của TCPDF
cũng ta chỉ đơn giản làm như sau:
$pdf->core->TCPDFfunction();
3. Sử dụng
Chúng ta cùng test class helper này.
Tạo 1 layout file "app/views/layouts/pdf.ctp":
<?php header("Content-type: application/pdf"); echo $content_for_layout; ?>
Tạo 1 PdfsController class, và include PDF Helper. Chúng ta
cũng sẽ tạo một index function cho generating pdf:
<?php class PdfsController extends AppController { var $uses = null; var $helpers = array('Pdf'); function index() { $this->layout='pdf'; } } ?>
Bây giờ chúng ta tạo 1 view file
"app/views/pdfs/index.ctp", file này sẽ sử dụng PDF Helper class để generate PDF :
<?php $this->Pdf->core->addPage('', 'USLETTER'); $this->Pdf->core->setFont('helvetica', '', 12); $this->Pdf->core->cell(30, 0, 'Hello World'); $this->Pdf->core->Output('example_001.pdf', 'D');
Bây giờ mở trình duyệt lên và gõ http://diachiwebrootcuaban/pdfs/index.
Bạn sẽ thấy kết quả.
4. Kết luận
Hy vọng rằng với bài hướng dẫn này sẽ giúp được ít nhiều
trong công việc của bạn. Nếu có thắc mắc về vấn đề gì về bài hướng dẫn vui lòng
comment bên dưới, tôi sẽ giải đáp trong khả năng của mình.
No comments:
Post a Comment