dr.Brain

doctor Brain

мир глазами веб-разработчика

Как получить PDF из HTML

конвертируем html в pdf с помощью php

dr.Brain

время чтения 2 мин.

Photo by Kimberly Farmer on Unsplash

Итак, нам нужно получить файл в формате 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. Тем не менее, она проста в использовании, имеет хорошее описание и не требует дополнительных затрат.


Спасибо за внимание.

Новые публикации

Далее

Категории

О нас

Frontend & Backend. Статьи, обзоры, заметки, код, уроки.