Преобразование HTML к PDF с помощью PHP? [дубликат]

Возможный дубликат:
Преобразовать HTML + CSS к PDF с PHP?

Действительно ли возможно преобразовать страницу HTML в PDF с помощью PHP, и если так, как это может быть сделано?

А именно, страница является счетом, сгенерированным динамично. Таким образом, я хотел бы загруженное использование:

http://example.com/invoices/3333

И вывод HTML должен был бы быть преобразован в PDF.

Любые хорошие библиотеки, которые делают это, будут прекрасны.

55
задан Community 23 May 2017 в 01:54
поделиться

8 ответов

Если вы хотите создать pdf из php, pdflib поможет вам (как и некоторым другим). предложил).

Иначе, если вы хотите преобразовать HTML-страницу в PDF через PHP, вы обнаружите небольшую проблему отсюда. В течение 3 лет я пытался сделать это как Насколько я могу.

Итак, я знаю следующие варианты:

DOMPDF : класс php, который оборачивает html и создает pdf. Работает хорошо, настраивается (если вы знаете php), на основе pdflib, если я правильно помню, он требует даже немного CSS. Плохие новости: медленно, когда html большой или сложный.

HTML2PS : то же самое, что и DOMPDF, но этот сначала преобразуется в файл .ps (ghostscript), а затем в любой нужный вам формат (pdf, jpg, PNG). Для меня это немного лучше, чем dompdf, но у него та же проблема со скоростью ... но лучше совместимость с CSS.

Это два класса php, но если вы можете установить какое-либо программное обеспечение на сервере и получить к нему доступ через passthru () или system (), взгляните на них тоже:

wkhtmltopdf : основано на webkit (оболочка Safari), действительно быстрый и мощный ... кажется, что это лучший (атм) для преобразования HTML-страниц в PDF на лету; займет всего 2 секунды для 3-страничного документа xHTML с CSS2. Это недавний проект, во всяком случае, страница google.code часто обновляется.

htmldoc : Это танк, он никогда не останавливается / не падает. Проект выглядит мертвым с 2007 года, но в любом случае, если вы не нужна совместимость с CSS, это может быть хорошо для вас.

основанный на webkit (оболочка Safari), он действительно быстрый и мощный ... кажется, что это лучший (atm) для преобразования html-страниц в pdf на лету; займет всего 2 секунды для 3-страничного документа xHTML с CSS2. Это недавний проект, во всяком случае, страница google.code часто обновляется.

htmldoc : Это танк, он никогда не останавливается / не падает. Проект выглядит мертвым с 2007 года, но в любом случае, если вы не нужна совместимость с CSS, это может быть хорошо для вас.

основанный на webkit (оболочка Safari), он действительно быстрый и мощный ... кажется, что это лучший (atm) для преобразования html-страниц в pdf на лету; займет всего 2 секунды для 3-страничного документа xHTML с CSS2. Это недавний проект, во всяком случае, страница google.code часто обновляется.

htmldoc : Это танк, он никогда не останавливается / не падает. Проект выглядит мертвым с 2007 года, но в любом случае, если вы не нужна совместимость с CSS, это может быть хорошо для вас.

61
ответ дан Ken Y-N 7 November 2019 в 07:27
поделиться

как насчет TCPDF ?

имеет множество функций, и одно из преимуществ его использования Вы можете конвертировать HTML в PDF на лету

5
ответ дан Ashwini Agarwal 7 November 2019 в 07:27
поделиться

Лично я не доверяю всем тем услугам, которые предлагаются бесплатно. Вот приложение, которое вы можете скачать: http://www.tufat.com/script19.htm

3
ответ дан soulmerge 7 November 2019 в 07:27
поделиться

Вы можете использовать PDFlib . На php.net есть документация о том, как его использовать . Увы, вам придется жить с довольно навязчивым водяным знаком, если вы не покупаете лицензию на PDFlib.

1
ответ дан Michael Klement 7 November 2019 в 07:27
поделиться

Да, абсолютно.

Существуют готовые решения, которые можно приобрести, которые будут принимать HTML введите и преобразуйте файл для вас.

Существует также общая PDFLib , которую вы можете использовать для создания ваших PDF-файлов с использованием PHP, но для этого вам нужно создать их вручную, установив все элементы на странице.

Это еще один , который я использовал, это было довольно мило

0
ответ дан jerebear 7 November 2019 в 07:27
поделиться

Проблемы с классами php: AFAIK 2:

  1. Скорость: php занимает много времени для анализа структуры html и преобразовать в pdf с помощью pdflib
  2. Надежность: когда придет новый атрибут css или style, как сохранить обновления скрипта? сколько времени?

Я думаю, что единственный способ получить доверенное преобразование - это использовать браузерную оболочку, поскольку для определения, всегда будет лучше читатель HTML.

Я предлагаю другую ссылку с некоторым сравнением: ССЫЛКА Вот где я прочитал о wkhtmltopdf .. прочитайте также все комментарии, есть много других способов ...

0
ответ дан Strae 7 November 2019 в 07:27
поделиться

Вам понадобится использовать Win32 API. Вот что вы можете сделать в VB:

'API declares
Private Declare Function HideCaret Lib "user32" _
(ByVal hwnd As IntPtr) As Integer
Private Declare Function ShowCaret Lib "user32" _
(ByVal hwnd As IntPtr) As Integer
'hide the caret in myTextBox
Call HideCaret(myTextBox.Handle)
'show the caret back..
Call ShowCaret(myTextBox.Handle)

и в C #

 [DllImport("user32.dll", EntryPoint = "ShowCaret")]
 public static extern long ShowCaret(IntPtr hwnd);
 [DllImport("user32.dll", EntryPoint = "HideCaret")]
 public static extern long HideCaret(IntPtr hwnd);

затем позвонить

   HideCaret(richtextbox.Handle)

, когда вы захотите это скрыть.

html2pdf

1
ответ дан 7 November 2019 в 07:27
поделиться

dompdf: https://github.com/dompdf/dompdf

takes a html input string and returns the pdf-string.

it's not browser-level quality and has problems with css, but it works well enough for simple text documents.

1
ответ дан Fabien Ménager 7 November 2019 в 07:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: