Який найкращий PDF-API для PHP? [зачинено]


110

Який із них найкращий PDF-API для PHP?


6
це інше питання, здається, видалено зі StackOverflow зараз.
rineez

Я знаю його старе питання, але я вважаю за краще MDF, він може обробляти будь-який складний html, виключаючи кілька пунктів, про які вже розповів mdf на mpdf1.com/mpdf/limitations
dev.meghraj

Тут ви можете побачити хороше порівняння між mPDF & TCPDF
Pmpr

Відповіді:


53

особисто я б краще пішов з tcpdf, який є еналізованою та доглянутою версією fpdf.


12
Ви не вказали причин - однією з величезних є підтримка Unicode в tcpdf, якої fpdf зовсім не вистачає. tcpdf також досі активно підтримується. і, це також має гідну архітектуру ОО. слово для мудрих: fpdf - це в основному стара річ, яку витіснив tcpdf.
zanlok

2
tcpdf не вистачає таких важливих функцій, як вбудовування шрифту та підмножина (важливо для азіатських мов).
velcrow

2
Я щойно перевірив веб-сайт tcpdf, і він, схоже, підтримує підмноження та вбудовування шрифту. дивіться аргумент підмножини методу SetFont tcpdf.org/fonts.php
Nerrve

1
tcpdf у мене виникли деякі проблеми, коли я використовував шрифти урду унікоду.
rineez

1
Якщо ви називаєте один клас з 24-кратними рядками коду "гідний ОО", ви повинні бути високими. Ознайомтеся з моєю реконструйованою версією FPDF для фактичного OOP: github.com/bubach/PdfBuilder
Крістоффер Бубах

39

З сайту mpdf : "mPDF - це клас PHP, який генерує файли PDF з кодованого HTML UTF-8. Він заснований на FPDF та HTML2FPDF, з рядом удосконалень."

mpdf перевершує FPDF для обробки мови та підтримки UTF-8. Для підтримки CJK він підтримує не лише вбудовування шрифту, але й підмножину шрифту (тому ваші PDF-файли CJK не є великими). TCPDF і FPDF не мають нічого в підтримці UTF-8 і Font mpdf. Він навіть постачається з деякими відкритими шрифтами версії 5.0.


30

Це лише короткий огляд того, як fPDF протистоїть tcPDF в області продуктивності кожної бібліотеки найбільш основних функцій.

Швидкість тестування

17.0366 секунд для обробки 2000 файлів PDF за допомогою fPDF || 79.5982 секунд для обробки 2000 файлів PDF за допомогою tcPDF

ПЕРЕВІРКА РОЗМІР ФАЙЛУ (у байтах)

788 fPDF || 1860 tcPDF

Використовуваний код був максимально однаковим і дає лише чистий PDF-файл без тексту. Для цього також використовується остання версія кожної бібліотеки станом на 22 червня 2011 року.


5
Існує ряд покращень продуктивності, які можуть значно підвищити швидкість TCPDF (я пішов від 1 хвилини, створюючи один файл, приблизно до 0,5 секунди): tcpdf.org/performances.php
Dan Smart

1
Ці "поліпшення" будуть однаково добре працювати з FPDF і насправді не допоможуть у порівнянні. TCPDF - це близько 24 000 рядків коду, тоді як FPDF - близько 2400 рядків коду.
Крістофер Бубах

Оновити посилання на @DanSmart
Альберт

22

Я знайшов mpdf кращим, ніж tcpdf, з точки зору надання HTML. Він може значно краще проаналізувати стилі css та створити PDF, який дуже схожий на оригінальний html.

mpdf навіть підтримує css речі, такі як радіус межі та градієнт тощо.

Я здивований, побачивши, чому про mpdf так менше говорять, коли мова йде про html до pdf.

Перегляньте приклади тут http://www.mpdf1.com/mpdf/index.php?page=Examples

Мені здається корисним для розробки рахунків, квитанцій та простих відбитків тощо. Однак сам веб-сайт говорить, що файли pdfs, створені з mpdf, мають більші розміри.


2
Посилання розірвано. Це може бути нове посилання: mpdf1.com/mpdf/index.php?page=Examples
Стефан

Оновлення серпня 2019 року: використовуйте це для посилання mpdf.github.io
CodeJunkie

mpdf, на жаль, не працює добре з великими клітинками таблиці. Як тільки вміст перевищує сторінку, він починає масштабуватися, що робить його марним для будь-якого проекту, що має великі таблиці. Крім того; він простий у використанні, виконанні та добре документований.
зумек

13

Спробуйте TCPDF . Я вважаю це найкращим поки що.

Для отримання докладного посібника з використання двох найпопулярніших класів генерації PDF: TCPDF та FPDF .. перейдіть за цим посиланням: PHP: Легко створюйте PDF на льоту за допомогою TCPDF та FPDF

Сподіваюся, це допомагає.


Іноді дробиться у Firefox зі скиданням з'єднання. Не перевіряйте інші веб-переглядачі.
kta

11

Особисто я вважаю за краще використовувати dompdf для простих сторінок PDF, оскільки це дуже швидко. ви просто подаєте йому джерело HTML, і воно створить потрібну сторінку.

однак для більш складних конструкцій я віддаю перевагу більш класичному pdflib, який доступний як пекла для PHP. він має більший контроль над конструкціями і дозволяє робити складніші конструкції, наприклад, ідеальні для пікселів форми.


Але є мінус використання dompdf - це те, що він не працює, якщо ви хочете створити кілька pdf одночасно або в циклі.
hmjha

5

http://sourceforge.net/projects/html2ps/ , найкраще, якщо вам потрібна сумісність css та 3c.

якщо ви можете встановити програмне забезпечення на свій сервер, я пропоную вам скористатися http://wkhtmltopdf.org/ .

Також є модуль drupal за допомогою wkhtmltopdf :)

PHP потребує багатьох ресурсів для перетворення html у pdf, imho, php - це не правильна мова для цього (якщо ви очікуєте, що велика кількість покриття чи великі файли для конвертування)


Я підтримую wkhtmltopdf, але особливо при використанні такого методу, як використання зовнішнього конвертера PHP, не винен у втраті швидкості. Я думаю, що використання wkhtmltopdf або prince з asp.net було б практично однаково швидко, як і з PHP (хоча я використовую asp.net). Звичайно, у PHP немає всього контролю над процесом .net, але я б сказав, що він все ще працює досить швидко для більшості проектів
Joel Peltonen

4

Zend_Pdf Zend Framework дійсно хороший. Це нарівні з pdflib з точки зору контролю виходу та складності і є більш портативним, оскільки це чисте php рішення. Однак це повільніше і використовує більше пам'яті, ніж pdflib. Модулі Pecl завжди ефективніші, ніж рішення PHP.

DOMPdf - це найпростіший спосіб швидко створити PDF-файл. Як сказав Майк, подайте його html і він виводить PDF. Під капотом він має можливість використовувати або r & ospdf, або pdflib в якості двигуна візуалізації.


1
Zend PDF має суттєве значення (проблеми з продуктивністю, якщо ви вставляєте PNG з прозорими зображеннями) [ Framework.zend.com/isissue/browse/ZF-3392] . Також Zend PDF є дуже поганим інструментом для зміни метаданих у сторонніх PDF-файлах, оскільки він не може обробляти нічого, що наближається до повного стандарту PDF, і він виходить з ладу. Однак якщо вам ці функції не потрібні, Zend PDF працює досить добре і має гарну підтримку UTF-8.
Христос

3

Я особисто генерую XSL: FO з PHP і використовую Apache FOP для перетворення його в PDF. Не є нативним рішенням PHP, не дуже ефективним, але воно працює добре, навіть якщо вам потрібно створити PDF з дуже складними макетами.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.