Як конвертувати HTML в PDF у PHP
PDF (Portable Document Format) – це формат файлу, що включає форматування тексту та зображення у фіксованому макеті. PDF не залежить від прикладного програмного забезпечення, апаратного забезпечення та операційної системи. Це означає, що ви можете використовувати той самий PDF у будь-якій операційній системі.
Працюючи над програмами PHP, ми іноді хочемо створити PDF з HTML. Це може бути рахунок-фактура, посібник із встановлення, резюме тощо. Щоб зробити його динамічним, нам потрібно генерувати PDF за допомогою HTML на льоту.
У цій статті я покажу вам, як конвертувати HTML у PDF у PHP за допомогою бібліотеки Dompdf.
Dompdf – це бібліотека конвертера HTML з PDF з відкритим кодом. Використовуючи Dompdf, ви можете легко створити PDF із необробленого HTML або за допомогою HTML-файлу.
Починаємо
Для початку вам спочатку потрібно встановити бібліотеку Dompdf у свою програму. Я рекомендую використовувати Composer для встановлення бібліотеки.
Відкрийте термінал у кореневому каталозі проекту та запустіть команду:
composer require dompdf/dompdf
Після встановлення бібліотеки ви можете включити середовище Dompdf до свого проекту, використовуючи код нижче.
<?php
require_once "vendor/autoload.php";
use DompdfDompdf;
Перетворення HTML у PDF у PHP
Код, необхідний для створення PDF-файлу, простий і зрозумілий. Як приклад, припустимо, у вас є вихідний HTML, який слід перетворити в PDF. Створіть index.php
файл і додайте, напишіть код наступним чином.
<?php
require_once "vendor/autoload.php";
use DompdfDompdf;
// instantiate and use the dompdf class
$dompdf = new Dompdf();
$dompdf->loadHtml('<h1>hello world</h1>');
// (Optional) Setup the paper size and orientation
$dompdf->setPaper('A4', 'landscape');
// Render the HTML as PDF
$dompdf->render();
// Output the generated PDF to Browser
$dompdf->stream();
Тут ми передаємо методу необроблений HTML loadHtml()
. Коли ми запускаємо цей файл, він генерує PDF і відображається у браузері.
Ми також можемо назвати PDF-файл, який збирається завантажити.
$dompdf->stream('test.pdf');
Ви дізналися про створення PDF із вихідного HTML. Тепер давайте подивимося, як створити PDF за допомогою HTML-файлу.
Є 2 способи. Спочатку ми отримуємо вміст з файлу HTML і передаємо його loadHtml()
методу. Інший спосіб – використання loadHtmlFile()
функції та передача їй шляху до HTML-файлу.
Давайте подивимося обидва шляхи по одному.
Перший спосіб
$html = file_get_contents('test.html');
$dompdf->loadHtml($html);
// Render the HTML as PDF
$dompdf->render();
// Output the generated PDF to Browser
$dompdf->stream();
Другий спосіб
У цьому методі вам слід спочатку встановити ‘chroot’ каталогу, де знаходиться ваш HTML-файл. Якщо ваш HTML-файл знаходиться в кореневому каталозі, то безпосередньо скористайтеся getcwd()
методом. Ви повинні налаштувати шлях відповідно до ваших вимог.
$dompdf->set_option('chroot', getcwd()); //assuming HTML file is in the root folder
$dompdf->loadHtmlFile('test.html');
// Render the HTML as PDF
$dompdf->render();
// Output the generated PDF to Browser
$dompdf->stream();
Збережіть створений файл PDF
Усі вищезазначені коди відображатимуть створений PDF у браузері. Якщо хтось хоче зберегти згенерований PDF на диск, використовуйте код наступним чином:
$dompdf->set_option('chroot', getcwd()); //assuming HTML file is in the root folder
$dompdf->loadHtmlFile('test.html');
// Render the HTML as PDF
$dompdf->render();
//Save to disk
$output = $dompdf->output();
file_put_contents("test.pdf", $output);
Вся справа в перетворенні HTML у PDF за допомогою бібліотеки Dompdf. Я хотів би почути ваші думки та пропозиції у розділі коментарів нижче.
Пов’язані статті
- Використання Google reCAPTCHA на вашому веб-сайті у формах за допомогою PHP
- Завантажте файли на Amazon S3 за допомогою AWS PHP SDK
- Завантажте зображення за допомогою куленепробивної бібліотеки в PHP