Có một số tình huống mà tệp PDF động là một giải pháp tuyệt vời để cung cấp các tài liệu kỹ thuật số ngay trong ứng dụng web của bạn. Hãy suy nghĩ về các tài liệu đặt hàng trong ứng dụng Thương mại điện tử của bạn, phiếu giảm giá cho chiến dịch tiếp thị của bạn hoặc chỉ phiên bản PDF từ trang web của bạn. Có rất nhiều tình huống là một tài liệu PDF động cũng là một cách tuyệt vời để giải quyết vấn đề. Sử dụng PHP, có thể tạo các tệp PDF đó. Là nhà phát triển, bạn có thể sử dụng một số lớp PHP miễn phí và cũng có thư viện PDFlib là một sản phẩm thương mại. Danh sách này giới thiệu các lớp và thư viện PHP phổ biến nhất
Tạo tệp PDF bằng PHP
Các lớp sau đây được viết để tạo các tệp PDF “từ đầu” bằng cách sử dụng các hàm PHP gốc
FPDF
Lớp FPDF được viết cho PHP4 và là tập lệnh PHP miễn phí đầu tiên để tạo các tệp PDF “một cách nhanh chóng”. Tôi đã sử dụng lớp này 8 năm trước để tạo tài liệu PDF trong một số ứng dụng Thương mại điện tử. Trang web của dự án cung cấp tài liệu tuyệt vời và cũng có rất nhiều ví dụ mã hữu ích. Phiên bản mới nhất là từ tháng 6 năm 2011 và tôi hy vọng phiên bản tiếp theo được viết cho PHP5. Phiên bản gốc không hỗ trợ UTF-8, nhưng sau một thời gian, có tiện ích mở rộng lớp có tên tFPDF hỗ trợ UTF-8
TCPDF
Giống như nhiều tập lệnh PDF khác, dự án TCPDF cũng dựa trên FPDF. Lớp TCPDF ban đầu được viết lại cho PHP5 với sự hỗ trợ cho UTF-8. Bây giờ dự án này là một trình tạo PDF tuyệt vời với các chức năng hình ảnh tuyệt vời bao gồm hỗ trợ cho chế độ màu CMYK.
Việc thiếu hỗ trợ cho UTF-8 trong FPDF là lý do mà bây giờ tôi sử dụng lớp TCPDF cho tất cả các dự án của mình. Ngay cả đối với các dự án mà tôi đã sử dụng lớp FPDF, việc chuyển sang dự án này rất dễ dàng. Tài liệu cho dự án TCPDF không tốt bằng lớp FPDF, nhưng có rất nhiều ví dụ được ghi chép đầy đủ.
Zend_Pdf
Khung công tác Zend cũng có lớp tạo PDF, lớp này có ít chức năng hơn FPDF hoặc các lớp khác. Giống như nhiều lớp khác bên trong Zend Framework, tài liệu về lớp này cũng rất hạn chế. Nếu bạn đã sử dụng Zend Framework cho dự án của mình và cần một số chức năng PDF cơ bản, thì bạn nên sử dụng giải pháp PDF động này
PDFlib
PDFlib là giải pháp PDF thương mại cho PHP. Nếu đã cài đặt [biên dịch] thì bạn có thể sử dụng các hàm PDFlib ngay trong mã PHP của mình mà không cần đưa tệp lớp hay thư viện vào. Điều này có thể hoạt động tốt hơn và thường nhanh hơn, nhưng sản phẩm này cũng có mức giá “khủng”. Trước đây, tôi đã làm việc với PDFlib trong một trong các dự án của mình và PDFlib là một tập lệnh tạo PDF tuyệt vời. Nếu bạn tìm kiếm tài liệu PDF trên trang web PHP, thông tin đã lỗi thời và không được cập nhật cho phiên bản hiện tại nữa. Hiện tại, dự án của bạn trở nên lớn hơn và việc tạo các tệp PDF là một phần quan trọng trong dự án của bạn, bạn nên nghĩ đến thư viện PDF này cho PHP
Nhập tệp PDF và thêm nội dung bằng PHP
Các lớp trên là các công cụ để tạo tệp PDF bằng mã PHP, ví dụ để tạo tài liệu hóa đơn PDF. Sử dụng các công cụ này, bạn cần tạo bất kỳ phần tử nào cho tài liệu PDF của mình. Các lớp sau đây sẽ giúp bạn sử dụng các tệp PDF hiện có để tạo một tệp PDF động mới
FPDI
FPDI là một phần mở rộng lớp tuyệt vời cho tập lệnh lớp FPDF và TCPDF. Dễ thôi. Mã PHP mở một tệp, giữ nó trong bộ nhớ của máy chủ web và bạn có thể thêm văn bản và hình ảnh. Ví dụ sau đây sẽ cho thấy nó hoạt động như thế nào
class myExtension fpdi { public function addContent[$pdffile] { $this->setSourceFile[$pdffile]; $page = $this->ImportPage[1]; $this->AddPage[]; $this->useTemplate[$page]; $this->$this->Image['someimage.png', 150, 5, 40, 20, 'PNG']; $this->createTextField[$string, 25, 50, 40]; } public function createTextField[$string, $x, $y, $width, $height = 2] { $this->SetXY[$x,$y]; $this->Setfont["Arial","",10]; $this->Cell[$width, $height, $string, 0, 0, ""]; } } $pdf = new myExtension[]; $pdf->addContent['origpdffile.php']; $pdf->Output['newpdffile.pdf', 'I'];
Lưu ý, đây chỉ là một ví dụ về cách sử dụng lớp FPDI. Vì đối tượng được viết cho PHP5 nên bạn cần sử dụng lớp TCPDF hoặc bạn cần thay đổi mã trước cho PHP4
PDI [một sản phẩm của PDFlib]
Ngoài ra còn có một tên chức năng nhập PDF [thương mại] PDI cho thư viện PDFlib. Theo trang web của họ, bạn phải mua tiện ích mở rộng hoặc lớp này cùng với PDFlib dưới dạng gói. Tôi chưa bao giờ sử dụng lớp nhập PDF này, nhưng tôi nghĩ điều quan trọng là phải đề cập đến tập lệnh này
Chuyển đổi HTML sang PDF bằng PHP
Có rất nhiều yêu cầu chuyển HTML sang PDF. Tính năng này hữu ích nếu bạn muốn tự động tạo phiên bản PDF từ trang web của mình. Hai project sau là script quan trọng nhất [nếu nói về thông tin có sẵn và cập nhật thường xuyên]
mPDF
mPDF dựa trên FPDF và HTML2FPDF, với một số cải tiến. Tập lệnh có thể xử lý mã HTML được mã hóa utf-8 và có thể sử dụng biểu định kiểu CSS cho bố cục PDF được tạo
dompdf
dompdf là trình chuyển đổi HTML sang PDF có thể đọc/phân tích cú pháp CSS 2. 1 bố cục HTML tuân thủ. Tập lệnh có thể hiển thị các kiểu từ biểu định kiểu bên ngoài và các thuộc tính kiểu từ các phần tử HTML riêng lẻ. Chức năng kết xuất PDF hiện được cung cấp bởi PDFLib hoặc lớp R&OS CPDF do Wayne Munro viết
Đây là rất nhiều công cụ để thực hiện một số công việc PDF, nếu tôi quên một lớp hoặc thư viện PHP quan trọng, vui lòng đề cập đến chúng trong nhận xét