mPDF - как создать PDF документ с помощью PHP


mPDF - это библиотека PHP, которая легко генерирует PDF файл из HTML документа в кодировке UTF-8.

Наверное самая крутая библиотека из всех что я пробовал. У остальных библиотек много недоработок, сложность в структуре формирования. Библиотека mPDF, как пишет разработчик, основана на FPDF и HTML2FPDF с улучшением кода. Перейдем к логике формированию документа.

mPDF устанавливается через composer. Если не знаете, как установить композер, посмотрите уроки на ютубе, их достаточно много. А если у Вас установлен OpenServer, то он у Вас уже установлен и Вам остается просто перейти в консоль сервера.

Формирование PDF документа с комментариями


index.php
<?php
/**
 * @description
 * Упращенный метод формирования PDF из html
 */

// Require composer autoload
require_once __DIR__ . '/vendor/autoload.php';

// Create an instance of the class:
$mpdf = new \Mpdf\Mpdf([
    'mode' => 'utf-8', // кодировка (по умолчанию UTF-8)
    'format' => 'A4', // - формат документа
    'orientation' => 'L' // - альбомная ориентация
]);

// Заголовок PDF
$mpdf->SetTitle('mPDF');
// Автор
$mpdf->SetAuthor('Kylaksizov');

/**
 * @name HTML
 * @description формируем html код
 */
$html = '<h1><span>mPDF</span> - библиотека для формирования PDF</h1>

    <img src="ruwiki.png" alt="Wiki" class="logo">

    <p><b>Пара́граф</b> <i>(от греческого παράγραφος — написанное рядом)</i> — мелкое подразделение текста внутри главы, раздела, обозначаемое обычно специальным знаком — § или пп.</p>

    <p>Параграфы используются например в правилах, наставлениях, уставах, программах и т. п.</p>
    
    <p class="description">Источник <a href="https://ru.wikipedia.org/wiki/%D0%9F%D0%B0%D1%80%D0%B0%D0%B3%D1%80%D0%B0%D1%84">Википедия</a></p>
    
    <br>
    <h2>Формируем таблицу</h2>
    
    <table>
        <tr>
            <th>Колонка 1</th>
            <th>Колонка 2</th>
            <th>Колонка 3</th>
        </tr>
        <tr>
            <td>Колонка 1</td>
            <td>Колонка 2</td>
            <td>Колонка 3</td>
        </tr>
        <tr>
            <td>Колонка 1</td>
            <td>Колонка 2</td>
            <td>Колонка 3</td>
        </tr>
        <tr>
            <td>Колонка 1</td>
            <td>Колонка 2</td>
            <td>Колонка 3</td>
        </tr>
    </table>
    
    <br>
    <br>
    <a href="https://mpdf.github.io/" target="_blank" class="download_mPDF">Скачать библиотеку</a>
';

// устанавливаем номер страницы если нужно
$mpdf->setFooter('{PAGENO}');

// подключаем стили
// подключаем файл стилей
$stylesheet = file_get_contents('style.css');
$mpdf->WriteHTML($stylesheet,1);

// генерируем сам PDF
$mpdf->WriteHTML($html,2);

// выводим PDF  в браузер
$mpdf->Output();

// или сохраняем PDF в файл
//$mpdf->Output('filename.pdf','F');

style.css
Внимание! У Вас нет прав для просмотра скрытого текста.


Архив с репозиторием приложу, вдруг исчезнет )))
Скачать файл: mpdf_github_io-development.zip [1,44 Mb] (cкачиваний: 69)

Все намного проще чем казалось.
Буду рад комментариям.
Автор: Kylaksizov

Комментарии ( 1 )

  1. +1

    Руслан

    Спасибо большое за документацию, очень помог!
    24 октября 2018 13:19 Ответить


Отправить

В корзине: 0 шт.

на сумму: 0

Всего: 0

Оформить заказ Очистить корзину
Есть готовый плагин для DLE [KS] PDF,
который генерирует PDF из новостей автоматически.