Создание PDF
Сгенерировать PDF можно через библиотеку Dompdf.
Ссылка на библиотеку: github.com/dompdf/dompdf
Сначала надо скачать библиотеку через Composer (пример установки composer на странице установка Yii).
composer require dompdf/dompdf
После чего можно генерировать PDF по HTML-коду.
use Dompdf\Dompdf; $html = 'HTML-код'; $dompdf = new Dompdf(); $dompdf->loadHtml($html); // Задать страницу как A4 $dompdf->setPaper('A4', 'landscape'); // Сгенерировать HTML как PDF $dompdf->render(); // Скачать и открыть PDF $dompdf->stream();
Русский текст (кириллица) в PDF
Если запустить код выше, то покажется текст:
HTML-???
Это из-за того, что текущий шрифт не поддерживает кириллицу. Можно задать шрифт Dejavu, который поддерживает русский язык и входит в сборку Dompdf.
use Dompdf\Dompdf; use Dompdf\Options; // Задать текуший шрифт Dejavu Sans для отображения кириллицы $options = new Options(); $options->set('defaultFont', 'DejaVu Sans'); $html = 'HTML-код'; $dompdf = new Dompdf($options); $dompdf->loadHtml($html); // Задать страницу как A4 $dompdf->setPaper('A4', 'landscape'); // Сгенерировать HTML как PDF $dompdf->render(); // Скачать и открыть PDF $dompdf->stream();
Сохранить PDF в указанной папке
Сохранить PDF в указанной папке можно через код ниже:
use Dompdf\Dompdf; use Dompdf\Options; // Задать текуший шрифт Dejavu Sans для отображения кириллицы $options = new Options(); $options->set('defaultFont', 'DejaVu Sans'); $html = 'HTML-код'; $dompdf = new Dompdf($options); $dompdf->loadHtml($html); // Задать страницу как A4 $dompdf->setPaper('A4', 'landscape'); // Сгенерировать HTML как PDF $dompdf->render(); // Сохранить PDF в указанной папке file_put_contents('filename.pdf', $dompdf->output());
Поддержать автора