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