mPDF — это библиотека PHP, которая генерирует PDF-файлы из HTML в кодировке UTF-8.
Он основан на FPDF и HTML2FPDF (см. КРЕДИТЫ) с рядом усовершенствований. mPDF был написан Яном Бэком и выпущен под лицензией GNU GPL v2.
Если вы просматриваете этот файл на домашней странице репозитория mPDF GitHub или на Packagist, обратите внимание, что ветка репозитория по умолчанию — это development , которая может отличаться от последней стабильной версии.
PHP >=5.6 <7.3.0 поддерживается для mPDF >= 7.0
PHP 7.3 поддерживается начиная с mPDF v7.1.7
PHP 7.4 поддерживается начиная с mPDF v8.0.4
PHP 8.0 поддерживается начиная с mPDF v8.0.10
PHP 8.1 поддерживается начиная с mPDF v8.0.13
PHP 8.2 поддерживается начиная с mPDF v8.1.3
PHP 8.3 поддерживается начиная с mPDF v8.2.1
PHP 8.4 поддерживается начиная с mPDF v8.2.5
Необходимо загрузить расширения PHP mbstring и gd .
Для некоторых дополнительных функций могут потребоваться дополнительные расширения, такие как zlib для сжатия вывода и встроенных ресурсов, таких как шрифты, bcmath для генерации штрих-кодов или xml для преобразования набора символов и обработки SVG.
У mPDF есть некоторые проблемы с получением внешних HTTP-ресурсов с помощью однопоточных серверов, таких как php -S . Рекомендуется использовать подходящий сервер, например nginx (php-fpm) или Apache.
Рассмотрите возможность поддержки разработки mPDF пожертвованием любой стоимости. Кнопку пожертвования можно найти на главной странице документации.
Официальный метод установки — через композитор и его пакет mpdf/mpdf.
$ composer require mpdf/mpdf
Простейшее использование библиотеки (начиная с версии 7.0) будет следующим:
<?phprequire_once __DIR__ . '/vendor/autoload.php';$mpdf = new MpdfMpdf();$mpdf->WriteHTML('<h1>Привет, мир!</h1>');$mpdf->Output(); Это приведет к выводу встроенного PDF-файла в браузер как тип контента application/pdf .
Все директивы конфигурации могут быть установлены параметром $config конструктора.
Рекомендуется установить собственный временный каталог через переменную конфигурации tempDir . Каталог должен иметь разрешения на запись (рекомендуется режим 775 ) для пользователей, использующих mPDF (обычно cli , webserver , fpm ).
Предупреждение: mPDF очистит старые временные файлы во временном каталоге. Выберите путь, предназначенный только для mPDF.
<?php$mpdf = новый MpdfMpdf(['tempDir' => __DIR__ . '/tmp']);
По умолчанию временный каталог будет находиться внутри каталога поставщика и будет иметь разрешения на запись из скрипта композитора post_install .
Дополнительную информацию о пользовательском временном каталоге см. в примечании о папке для временных файлов в разделе «Установка и настройка» руководства.
Если у вас возникли проблемы, пожалуйста, прочтите раздел об устранении неполадок в руководстве.
mPDF в целом является довольно устаревшим программным обеспечением. В настоящее время доступны лучшие альтернативы, хотя и не написанные на PHP.
Используйте mPDF, если вы не можете использовать подход, отличный от PHP, для создания PDF-файлов или если вы хотите использовать некоторые преимущества mPDF по сравнению с браузерным подходом — обработка цвета, предварительная печать, поддержка штрих-кодов, верхние и нижние колонтитулы, нумерация страниц, оглавление и т. д. Но помните, что может потребоваться шаблон HTML/CSS, адаптированный для mPDF.
Если вам нужна современная поддержка CSS, зеркально отображающая существующие HTML-страницы в PDF, используйте Headless Chrome.
mPDF по-прежнему будет обновляться для расширения некоторых внутренних возможностей и поддержки новых версий PHP, но улучшенная и/или новая поддержка CSS, скорее всего, не будет реализована.
Онлайн-руководство доступно по адресу https://mpdf.github.io/.
Для общих вопросов или устранения неполадок используйте «Обсуждения».
Вы также можете использовать тег mpdf в Stack Overflow, поскольку база пользователей StackOverflow с большей вероятностью ответит вам своевременно.
Прежде чем отправлять вопросы и запросы на включение, пожалуйста, прочтите файл CONTRIBUTING.md.
Модульное тестирование mPDF выполняется с использованием PHPUnit.
Для начала запустите composer install из командной строки, находясь в корневом каталоге mPDF (сначала вам понадобится установить композитор).
Чтобы выполнить тесты, запустите composer test из командной строки, находясь в корневом каталоге mPDF.
Мы будем очень признательны за любую помощь в написании модульных тестов для mPDF. Если вы хотите помочь, обратите внимание, что любой файл PHP, расположенный в каталоге /tests/ будет автоматически загружен при модульном тестировании.