Создание PDF файла в PHP

Создание PDF файла в PHP

Создание PDF файла в PHP

У вас стоит задача создания PDF файла в PHP?
Тогда вам следует прочитать данную статью.
Хочу поделится своим опытом. Потому как данная задача встает очень часто и решений в интернете очень много, но они довольно таки спорные.
Начнем по порядку. Библиотек и плагинов много разных для реализации задачи.
Все плагины и способы я тут рассматривать не буду, расскажу лишь о проблемах, с которыми столкнулся при использовании каждого.
Так как многие проекты на стадии активной разработки и еще не вышли в полноценные релизные версии, все может поменятся на момент прочтения вами данной статьи.
Это стоит иметь в виду!
Самый главный и общий недостаток всех проектов, это их объемность — огромное количество файлов и библиотек.
Собственно в интернете очень популярна библиотека domPDF.
Я честно пытался ее дважды использовать в проекте на Laravel и CodeIgniter, но ничего хорошего из этого не вышла, так как там есть очень серьезные заморочки с шрифтами. Авторы почему-то решили, что нет смысла включать в проект полноценные шрифты с кириллицей и другими языками, непонятно почему. Весь мир не говорит же на английском. А чтобы подключить свои шрифты или заменить присутствующие на те, в которых есть кириллица нужно очень сильно повозится и перекопать интернет. Я не стал этим заморачиваться, зачем?

Поискал получше..нашел отличную библиотеку — mpdf. Причем, как оказалось, в ней функционал более расширенный чем в domPDF. Но есть и недостатки — очень много файлов в релизе, около 600. Зато никаких проблем с шрифтами и русским языком.

Возможно, для некоторых еще будет критична поддержка css и css3, тут нужно проверять и смотреть, каждая библиотека по своему отрабатывает разные свойства и селекторы.

Но, для простых задач(построение таблиц, вывод данных блоками в PDF) mPDF более чем достаточно.

Для корректной работы советую вам указать кодировку и язык страницы в шапке вашего html шаблона:

<html lang="ru">
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />

Вот пример использования мной данной библиотеки:

include('../mpdf.php');
$mpdf = new mPDF();
$mpdf->WriteHTML($html);
$mpdf->Output('Тестовый.pdf', 'D');

Все элементарно, подключаем библиотеку, создаем экзепляр класса. В переменной $html содержатся данные, которые нужно конвертировать в виде HTML страницы. Параметр ‘D’ в методе Output соответствует выводу для загрузки файла.

Как вы уже поняли, глубоко в возможности данной библиотеки я не копал, но знаю, что там можно задавать содержимое будущего PDF файла постранично.

Все другие подробности возможностей можно узнать из документации к mPDF, которая, очень порадовала своей простотой и конкретикой.

Похожие записи
  • Как запустить веб приложение через NP... Как запустить веб приложение через NPM с помощью serve. Есть множество способов запустить свои web html проекты. Для этого потребуется веб-сервер. Есть несколько простых веб-серверов для nodejs, которые можно использовать для запуска приложений. Это очень удобно для разработки и отладки. В данной статье не берем Express, так как он довольно сложен для настройки и использования. [...]
  • Как пользоваться популярными трекерам... Как пользоваться популярными трекерами без стороннего софта, прокси серверов или расширений Все просто. Недавно я писал про один из способ улучшить работу вашего интернета, который вы можете найти здесь и здесь. Днс сервера гугла помогут вам с этим, но могут и не помочь, как было у меня, потому как провайдер блокировал весь трафик, поступающий с данного [...]
  • Встраивание Foundation в Laravel с по... Что такое Elixir? Elixir — это компонент Laravel, позволяющий без проблем встраивать scss, sass, less компоненты в ваш проект. С помощью данного компонента очень легко можно подключить любые фронт-энд пакеты из npm, скомпилировать их, вести версии. Инструкция Для начала, чтобы скомпилировать исходный код фронтэнд библиотек, как известно, вам необходимо установить node с менеджером пакетов npm. [...]
  • ORM для CodeIgniter Недавно я писал про свой небольшой проект — доработку для CodeIgniter. Прочитать предыдущие статьи вы можете здесь. Здесь пойдет речь о упрощенной версии этого проекта, которую вы можете найти здесь. Собственно второй проект является упрощенной версией первого, так как не содержит моих методов для получения данных. Если вы искали именно это, то прошу. Генераторы моделей [...]
  • Как подключить CodeIgniter, PHP к MSS... Настройка SQL SERVER для подключения по TCP/IP Для начала, чтобы иметь возможность подключиться к SQL Server’у, нужно включить в настройках доступ и установить Native Client SQL. Если у вас он не установлен, скачайте с официального сайта Microsoft. Чтобы открыть сетевой доступ к SQL SERVER нужно выполнить следующие шаги: Открываем диспетчер конфигурации SQL Server Перейти на [...]

Пока нет комментариев

Добавить комментарий