Как конвертировать HTML в PDF с PHP? - PullRequest
4 голосов
/ 04 марта 2011

У меня есть html в таблице mysql и я хочу превратить его в загружаемые pdf-файлы.

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

Вы можете помочь?Есть предложения?

Ответы [ 6 ]

3 голосов
/ 13 августа 2012

Если вы хотите создать pdf из php, pdflib поможет вам.

Иначе, если вы хотите конвертировать HTML-страницу в pdf через PHP, я знаю вариантыявляются:

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

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

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

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

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

tcpdf - это расширенная и поддерживаемая версия fpdf. Основные характеристики tcpdf и он также имеет меньшее время выполнения с отличным выводом.Подробное руководство по использованию двух самых популярных классов генерации PDF: TCPDF и FPDF.Пожалуйста, следуйте этой ссылке .

См. Также эти сообщения.

  1. Преобразование HTML + CSS в PDF с PHP?
  2. Какой из лучших PDF-API для PHP?
  3. Экспорт HTML в PDF в PHP?
  4. Написание HTMLс переменными PHP в PDF-файл?
  5. Инструмент для экспорта HTML в формате PDF
  6. Преобразование HTML-файла PHP в файл PDF
2 голосов
/ 10 августа 2013

Вы также можете попробовать использовать mPDF , это бесплатно и имеет обширную документацию.

Пример:

<?php

include('mpdf/mpdf.php'); 

$mpdf=new mPDF(); 

$mpdf->WriteHTML('<img src="images/logo.png">'); //Write HTML

$mpdf->Output(); //Show the output

?>
2 голосов
/ 04 марта 2011

DOMpdf - лучший бесплатный.

Если деньги не проблема, PrinceXML лучше.

2 голосов
/ 04 марта 2011

Библиотека html2pdf может вам помочь;Я слышал, что, как правило, он делает хорошую работу, но может потребовать, чтобы вы немного адаптировали свой HTML.

0 голосов
/ 23 июня 2018

Я удивлен, что никто не упомянул об этом, но вы также можете использовать онлайн-API, чтобы сделать эту работу за вас.В зависимости от вашего использования, он может быть бесплатным, и вы можете положиться на их современные функции (такие как CSS3 и WebFonts), а также вы можете использовать внешнюю обработку, что сокращает работу оборудования (или дает ему больше ресурсов для обработки других запросов).

Существует множество API-интерфейсов, предназначенных для преобразования HTML в PDF. PDFShift является одним из них (я работаю), и синтаксис действительно прост (конечно, он отличается от API).

Например, преобразование URL в PDF так же просто, каквыполнение curl_ POST-запроса:

<?php
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => "https://api.pdfshift.io/v2/convert/",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST => true,
    CURLOPT_POSTFIELDS => json_encode({'source': 'https://pdfshift.io/documentation'}),
    CURLOPT_HTTPHEADER => array('Content-Type:application/json'),
    CURLOPT_USERPWD => 'YOUR_API_KEY:'
));

$response = curl_exec($curl);
file_put_content('pdfhsift-documentation.pdf', $response);

Большинство онлайн-API имеют более или менее одинаковый синтаксис и отличаются по цене, производительности, обработке и т. д.

0 голосов
/ 04 марта 2011

Самый простой способ сделать это - http://www.tcpdf.org/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...