В данной статье мы рассмотрим автоматическую генерацию PDF документа средствами PHP. Реализуем возможность сохранять любую статью на сайте в PDF формате. Данный функционал будем разворачивать на CMS 1c-Bitrix. Чем больше изучаю эту платформу, тем больше убеждаюсь в качестве её разработки.
Итак, общий алгоритм будет следующим: при сохранении, апдейте элемента в инф. блоке, создается/обновляется PDF документ. Что бы ни изобретать велосипед, для создания PDF файла, будем использовать библиотеку mPDF. На момент написания статьи, последний актуальный релиз mPDF v5.7. Качаем архив, разархивируем и заливаем на сервер (в корень сайта).
Теперь задача стоит в выборе метода генерации, можно создать отдельный скрипт, передать ему ID элемента и на выходе выплюнуть сгенерированный файл, можно повесить обработчик на события: создание и апдейт элемента инф. блока. Для теста я выбрал второй вариант, т.к. поток статей не очень большой и не будет существенной нагрузки при перезаписи или создании PDF документов.
Функция генерации файла (обработчик события):
Регистрируем обработчики в файле init.php
Теперь при создании или апдейте элемента будет создаваться или обновляться PDF файл с текстом статьи. В данном примере текст документа генерируется из названия и детального описания элемента. Названием файла выступает его уникальный ID.
Так же прописываем обработчик, который будет удалять сгенерированный файл, при удалении элемента:
Далее в шаблон компонента вывода элементов из инф. блока можно подключить проверку существования PDF версии и вывод ссылки на файл.
Наименование | Размер | Скачив. | ||
---|---|---|---|---|
Функции и события в одном файле handlers.php | 1 KiB | 695 | Скачать |