Cái nào là PDF-API tốt nhất cho PHP? [đóng cửa]


110

Cái nào trong số này là PDF-API tốt nhất cho PHP?


6
câu hỏi khác này dường như đã bị xóa khỏi StackOverflow ngay bây giờ.
rineez

tôi biết câu hỏi cũ, nhưng tôi muốn MDF, nó có thể xử lý bất kỳ html phức tạp, trừ một vài điểm mà đã được nói bởi MDF tại mpdf1.com/mpdf/limitations
dev.meghraj

Ở đây bạn có thể thấy một so sánh tốt giữa MPDF & TCPDF
Pmpr

Câu trả lời:


53

cá nhân tôi muốn sử dụng tcpdf , đây là phiên bản fpdf được kiểm chứng và hiểu rõ hơn.


12
bạn đã không chỉ rõ lý do - một trong những lý do rất lớn là hỗ trợ Unicode trong tcpdf, mà fpdf hoàn toàn thiếu. tcpdf cũng vẫn được duy trì tích cực. và, nó cũng có một kiến ​​trúc OO tốt. từ cho người khôn ngoan: fpdf về cơ bản là một thứ cũ đã được thay thế bởi tcpdf.
zanlok

2
tcpdf thiếu các tính năng quan trọng như nhúng và cài đặt phông chữ (quan trọng đối với các ngôn ngữ Châu Á).
khóa dán

2
Tôi vừa kiểm tra trang web tcpdf và nó có vẻ hỗ trợ cài đặt và nhúng phông chữ. thấy lập luận nhóm với phương pháp SetFont tcpdf.org/fonts.php
Nerrve

1
tcpdf đã gặp một số vấn đề khi tôi sử dụng với phông chữ unicode urdu.
rineez

1
Nếu bạn gọi một lớp duy nhất với 24k dòng mã là "OO tốt" thì bạn phải cao. Kiểm tra phiên bản refactored của tôi về FPDF cho OOP thực tế: github.com/bubach/PdfBuilder
Christoffer Bubach

39

Từ MPDF site: "MPDF là một lớp PHP tạo tập tin PDF từ UTF-8 mã hóa HTML Nó dựa trên FPDF và HTML2FPDF, với một số cải tiến.."

mpdf ưu việt hơn FPDF về xử lý ngôn ngữ và hỗ trợ UTF-8. Đối với hỗ trợ CJK, nó không chỉ hỗ trợ nhúng phông chữ mà còn hỗ trợ cài đặt phông chữ (để các tệp PDF CJK của bạn không quá khổ). TCPDF và FPDF không có gì trên UTF-8 và hỗ trợ Phông chữ của mpdf. Nó thậm chí còn đi kèm với một số phông chữ mã nguồn mở kể từ phiên bản 5.0.


30

Đây chỉ là một đánh giá nhanh về cách fPDF chống lại tcPDF trong lĩnh vực hoạt động ở mỗi chức năng cơ bản nhất của thư viện.

KIỂM TRA CẤP TỐC

17,0366 giây để xử lý 2000 tệp PDF bằng fPDF || 79,5982 giây để xử lý 2000 tệp PDF bằng tcPDF

KIỂM TRA KÍCH THƯỚC TẬP TIN (tính bằng byte)

788 fPDF || 1.860 tcPDF

Mã được sử dụng giống nhất có thể và chỉ hiển thị một tệp PDF sạch không có văn bản. Điều này cũng đang sử dụng phiên bản mới nhất của mỗi thư viện kể từ ngày 22 tháng 6 năm 2011.


5
Có một số cải tiến hiệu suất ồ ạt có thể cải thiện tốc độ TCPDF (tôi đã đi từ 1 phút trong việc tạo ra một tập tin duy nhất để khoảng 0,5 giây): tcpdf.org/performances.php
Dan thông minh

1
Những "cải tiến" đó sẽ hoạt động tốt như nhau với FPDF và sẽ không thực sự giúp ích trong việc đánh giá điểm chuẩn. TCPDF là khoảng 24 000 dòng mã, trong khi FPDF là khoảng 2400 dòng mã.
Christoffer Bubach

Cập nhật vào liên kết của @DanSmart
Albert

22

Tôi thấy mpdf tốt hơn tcpdf về kết xuất html. Nó có thể phân tích cú pháp các kiểu css tốt hơn nhiều và tạo pdf trông rất giống với html gốc.

mpdf thậm chí còn hỗ trợ những thứ css như bán kính đường viền và gradient, v.v.

Tôi ngạc nhiên khi thấy tại sao mpdf lại ít được nói đến khi chuyển từ html sang pdf.

Xem các ví dụ tại đây http://www.mpdf1.com/mpdf/index.php?page=Examples

Tôi thấy nó hữu ích cho việc thiết kế hóa đơn, biên lai và các bản in đơn giản, v.v. Tuy nhiên, bản thân trang web nói rằng các pdf được tạo từ mpdf có xu hướng lớn hơn về kích thước.


2
Liên kết bị hỏng. Đây có thể là liên kết mới: mpdf1.com/mpdf/index.php?page=Examples
Stefan

Cập nhật tháng 8 năm 2019: Sử dụng cái này để tham khảo mpdf.github.io
CodeJunkie

mpdf không may là dường như không xử lý tốt các ô bảng lớn. Ngay sau khi nội dung vượt quá một trang, nó bắt đầu giảm quy mô, điều này khiến cho bất kỳ dự án nào có bảng lớn trở nên vô dụng. Ngoài điều đó ra; nó dễ sử dụng, hiệu quả và được ghi chép đầy đủ.
zumek,

13

Hãy thử TCPDF . Tôi thấy nó là tốt nhất cho đến nay.

Để có hướng dẫn chi tiết về cách sử dụng hai lớp tạo pdf phổ biến nhất: TCPDF và FPDF .. vui lòng theo liên kết sau: PHP: Dễ dàng tạo PDF nhanh chóng với TCPDF và FPDF

Hy vọng nó giúp.


Đôi khi nghiền nát trong Firefox khi đặt lại kết nối. Tuy nhiên, không kiểm tra với các trình duyệt khác.
kta

11

Cá nhân tôi thích sử dụng dompdf cho các trang PDF đơn giản vì nó rất nhanh. bạn chỉ cần cung cấp cho nó một nguồn HTML và nó sẽ tạo ra trang cần thiết.

tuy nhiên đối với các thiết kế phức tạp hơn, tôi thích pdflib cổ điển hơn , có sẵn dưới dạng pecl cho PHP. nó có khả năng kiểm soát tốt hơn các thiết kế và cho phép bạn thực hiện các thiết kế phức tạp hơn như các dạng pixel-perfect.


Nhưng có một nhược điểm của việc sử dụng dompdf là nó không hoạt động nếu bạn muốn tạo nhiều pdf cùng một lúc hoặc trong một vòng lặp.
hmjha

5

http://sourceforge.net/projects/html2ps/ , là tốt nhất nếu bạn cần tương thích css và 3c.

nếu bạn có thể cài đặt phần mềm trên máy chủ của mình, tôi khuyên bạn nên sử dụng http://wkhtmltopdf.org/ .

Ngoài ra còn có một mô-đun drupal sử dụng wkhtmltopdf :)

PHP mất nhiều tài nguyên để chuyển đổi html sang pdf, imho, php không phải là ngôn ngữ phù hợp để làm điều đó (nếu bạn mong đợi một số lượng lớn các bản cover hoặc các tệp lớn để chuyển đổi)


Tôi ủng hộ wkhtmltopdf, nhưng đặc biệt là khi sử dụng một phương pháp như sử dụng một trình chuyển đổi bên ngoài PHP thì không nên đổ lỗi cho việc mất tốc độ. Tôi nghĩ rằng việc sử dụng wkhtmltopdf hoặc Prince từ asp.net trên thực tế sẽ nhanh như từ PHP (mặc dù tôi sử dụng asp.net). Chắc chắn, PHP không có tất cả sự kiểm soát quá trình .net, nhưng tôi sẽ đặt cược nó vẫn hoạt động đủ nhanh đối với hầu hết các dự án
Joel Peltonen

4

Zend_Pdf của Zend Framework thực sự tốt. Nó ngang bằng với pdflib về khả năng kiểm soát đầu ra và độ phức tạp và dễ di động hơn vì nó là một giải pháp php thuần túy. Điều đó nói rằng, nó chậm hơn và sử dụng nhiều bộ nhớ hơn pdflib. Mô-đun Pecl luôn hiệu quả hơn giải pháp php.

DOMPdf là cách dễ nhất để tạo pdf nhanh chóng. Giống như Mike đã nói, hãy cho nó html và nó sẽ xuất ra một pdf. Dưới mui xe, nó có tùy chọn sử dụng r & ospdf hoặc pdflib làm công cụ kết xuất.


1
Zend PDF có vấn đề nghiêm trọng (các vấn đề về hiệu suất nếu bạn nhúng các PNG có giấy trong suốt) [ framework.zend.com/issues/browse/ZF-3392] . Ngoài ra Zend PDF là một công cụ rất tệ để thay đổi siêu dữ liệu trên các tệp PDF của bên thứ ba vì nó không thể xử lý bất cứ thứ gì gần với tiêu chuẩn PDF đầy đủ và nó bị treo. Tuy nhiên, nếu bạn không cần những tính năng này, Zend PDF hoạt động khá tốt và có hỗ trợ UTF-8 tốt.
chrishiestand

3

Cá nhân tôi tạo XSL: FO từ PHP và sử dụng Apache FOP để chuyển nó sang PDF. Không phải là giải pháp gốc PHP, cũng không hiệu quả lắm, nhưng nó hoạt động tốt ngay cả khi bạn cần tạo PDF với bố cục rất phức tạp.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.