Для генерации pdf-файлов существует достаточно большое количество различных библиотек, имеющих как плюсы, так и минусы.
Wkhtmltopdf - простая и эффективная утилита командной строки с открытым исходным кодом, которая позволяет пользователю конвертировать любую веб-страницу в документ PDF или изображение (jpg, png и т. д.).
Wkhtmltopdf написана на C ++ и распространяется под лицензией GNU/GPL (General Public License). Она использует механизм рендеринга WebKit для преобразования веб-страниц в PDF без потери качества. Это действительно очень полезное и заслуживающее доверия решение для создания и хранения снимков веб-страниц в режиме реального времени.
Особенности Wkhtmltopdf
- открытый исходный код, кроссплатформенная утилита;
- преобразование любых веб-страниц в файлы PDF с использованием движка WebKit;
- опции для добавления верхних и нижних колонтитулов;
- опция генерации таблицы содержимого (TOC);
- обеспечивает конвертирование в пакетном режиме;
- поддержка PHP или Python через привязки к libwkhtmltox.
Установка Evince (программа для просмотра PDF)
Давайте сначала устанавливаем программу evince для просмотра PDF в Linux.
sudo yum install evince
Дальше, нужно загрузить актуальную версию Wkhtmltopdf. Для этого переходим по ссылке, копируем адрес актуальной версии для установленной системы (Centos 7 - в настоящий момент ссылка имеет вид: https://downloads.wkhtmltopdf.org/0.12/0.12.5/wkhtmltox-0.12.5-1.centos7.x86_64.rpm).
Переходим в консоль сервера, скачиваем данный файл:
wget https://downloads.wkhtmltopdf.org/0.12/0.12.5/wkhtmltox-0.12.5-1.centos7.x86_64.rpm
И запускаем его установку:
yum install wkhtmltox-0.12.5-1.centos7.x86_64.rpm
После установки можно проверить работу скрипта, создав тестовый pdf-файл:
wkhtmltopdf https://wkhtmltopdf.org/downloads.html test.pdf
Скачайте себе получившийся файл и посмотрите, что получилось!
На этом с установкой - все, а о том, как пользоваться данным инструментом из кода сайта - напишу чуть позже. А пока можете в консоли выполнить команду, чтобы посмотреть все опции:
wkhtmltopdf -H
Разработка сайта
Подайте заявку на разработку сайта на базе готового решения от компании 1С-Битрикс или одного из партнеров компании. Максимально подробно опишите, чему будет посвящен сайт, если это интернет-магазин - что он будет продавать, нужна ли мультиязычность, будут ли разные типы цен (розница, опт, крупный опт), будет ли интеграция с 1С, будет ли выгрузка товаров на различные торговые площадки...
Сопровождение сайта
Вы можете подать заявку на сопровождение вашего сайта на базе 1С-Битрикс. Сопровождение включает в себя: проверка актуальности обновлений сайта, проверка актуальности резервной копии, консультации по сайту. Опишите в заявке, какие еще объемы планируются на сопровождении и на какой срок вы планируете заключить договор на сопровождение - мы подберем подходящий вам бюджет на сопровождение
Работы по сайту
Вы можете подать заявку на выполнение определенного объема работ по сайту. Опишите в заявке объем работ. Это может быть разработка какого-то нового функционала, доработки по имеющемуся функционалу, доработки под требования сео-специалистов. На основании заявки вам будет сформирован бюджет работ, а также названы сроки на выполнение тех или иных работ.