Как получить PDF из HTML
конвертируем html в pdf с помощью php
Итак, нам нужно получить файл в формате PDF из HTML-документа, стилизованного с помощью CSS. К сожалению, PHP не имеет встроенных функций, позволяющих выполнить такую задачу. Поэтому мы воспользуемся помощью библиотеки, созданной сторонними разработчиками.
Я полагаю, что конвертер html2pdf является отличным выбором, так как данная библиотека бесплатна и не имеет ограничений, связанных с ее распространением и модификацией даже в случае коммерческого использования. Несомненно, приятным моментом является то, что html2pdf не только преобразует HTML-синтаксис в PDF-формат, но и учитывает используемые для элементов конвертируемой страницы свойства CSS.
Также, следует отметить, что html2pdf работает с широким диапазоном версий PHP: от 5.6 до 7.4. Этот факт указывает на целесообразность использования данного конвертера для достаточно старых проектов.
Установка HTML2PDF
Конвертор html2pdf можно забрать из репозитария на github или установить с помощью Composer’а. В нашем примере мы используем последний вариант:
composer require spipu/html2pdf
Интеграция HTML2PDF в проект
Следующим шагом необходимо подключить конвертер к существующему проекту:
use Spipu\Html2Pdf\Html2Pdf;
Преобразование HTML в PDF
Для того, чтобы получить PDF-документ и вывести его в окно браузера можно использовать следующий код:
$html2pdf = new Html2Pdf();
$html2pdf->writeHTML('<h1 style="color:pink;">Title</h1><p>Convert this HTML to PDF please!</p>');
$html2pdf->output('myPdf.pdf'); // Создаем PDF-документ и выводим его в браузер
Для того, чтобы создать PDF-документ и сразу перейти к его загрузке для функции output
нужно установить второй аргумент D
:
$html2pdf = new Html2Pdf();
$html2pdf->writeHTML('<h1 style="color:pink;">Title</h1><p>Convert this HTML to PDF please!</p>');
$html2pdf->output('myPdf.pdf', 'D'); // Создаем PDF-документ и сразу его загружаем
Вывод PDF-документа в браузер
Можно заметить, что по умолчанию функция output
создает PDF-документ и выводит его в окно браузера. В результате, можно не только просмотреть в окне браузера, но и скачать преобразованный в PDF-формат файл.
Заключение
html2pdf далеко не единственная библиотека, позволяющая конвертировать HTML-документ в формат PDF. Тем не менее, она проста в использовании, имеет хорошее описание и не требует дополнительных затрат.
Спасибо за внимание.