Библиотека сайта rus-linux.net
Wkhtmltopdf - умная утилита для конвертирования веб-страниц в PDF в Linux
Оригинал: Wkhtmltopdf – A Smart Tool to Convert Website HTML Page to PDF in Linux
Автор: Ravi Saive
Дата публикации: 28 января 2017 года
Перевод: А. Кривошей
Дата перевода: февраль 2018 г.
Wkhtmltopdf - простая и эффективная утилита командной строки с открытым исходным кодом, которая позволяет пользователю конвертировать любую веб-страницу в документ PDF или изображение (jpg, png и т. д.).
Wkhtmltopdf написана на C ++ и распространяется под лицензией GNU/GPL (General Public License). Она использует механизм рендеринга WebKit для преобразования веб-страниц в PDF без потери качества. Это действительно очень полезное и заслуживающее доверия решение для создания и хранения снимков веб-страниц в режиме реального времени.
Особенности Wkhtmltopdf
- открытый исходный код, кроссплатформенная утилита;
- преобразование любых веб-страниц в файлы PDF с использованием движка WebKit;
- опции для добавления верхних и нижних колонтитулов;
- опция генерации таблицы содержимого (TOC);
- обеспечивает конвертирование в пакетном режиме;
- поддержка PHP или Python через привязки к libwkhtmltox.
В этой статье мы покажем вам, как установить программу Wkhtmltopdf в Linux из исходного кода.
Установка Evince (программа для просмотра PDF)
Давайте сначала установим программу evince для просмотра PDF в Linux.
$ sudo yum install evince [RHEL/CentOS and Fedora] $ sudo dnf install evince [On Fedora 22+ versions] $ sudo apt-get install evince [On Debian/Ubuntu systems]
Скачивание исходного кода Wkhtmltopdf
Загрузите исходные коды wkhtmltopdf для вашей архитектуры Linux, с помощью команды Wget, также вы можете загрузить последнюю версию на
Для 64-битных систем
$ wget http://download.gna.org/wkhtmltopdf/0.12/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
Для 32-битных систем
$ wget http://download.gna.org/wkhtmltopdf/0.12/0.12.4/wkhtmltox-0.12.4_linux-generic-i386.tar.xz
Установка Wkhtmltopdf в Linux
Распакуйте файлы в текущую рабочую директорию с помощью команды tar.
В 64-битной системе
$ sudo tar -xvf wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
В 32-битной системе
$ sudo tar -xvzf wkhtmltox-0.12.4_linux-generic-i386.tar.xz
Установите wkhtmltopdf в директорию /usr/bin, чтобы ее можно было запускать из любого места.
$ sudo cp wkhtmltox/bin/wkhtmltopdf /usr/bin/
Как использовать Wkhtmltopdf?
Здесь мы рассмотрим, как конвертировать HTML-страницы в PDF, верифицировать информацию и просматривать созданные файлы с помощью программы evince.
Конвертирование HTML-страницы в формат PDF
Для преобразования веб-страницы в PDF, выполните приведенную ниже команду. Он конвертирует указанную веб-страницу в файл 10-Sudo-Configurations.pdf в текущем рабочем каталоге.
Пример вывода:
Loading pages (1/6) Counting pages (2/6) Resolving links (4/6) Loading headers and footers (5/6) Printing pages (6/6) Done
Проверка сгенерированного файла PDF
Для того, чтобы проверить, что файл создан корректно, введите команду:
$ file 10-Sudo-Configurations.pdf
Пример вывода :
10-Sudo-Configurations.pdf: PDF document, version 1.4
Просмотр информации о сгенерированном файле PDF
Чтобы просмотреть информацию о созданном файле, воспользуйтесь следующей командой:
$ pdfinfo 10-Sudo-Configurations.pdf
Пример вывода:
Title: 10 Useful Sudoers Configurations for Setting 'sudo' in Linux Creator: wkhtmltopdf 0.12.4 Producer: Qt 4.8.7 CreationDate: Sat Jan 28 13:02:58 2017 Tagged: no UserProperties: no Suspects: no Form: none JavaScript: no Pages: 13 Encrypted: no Page size: 595 x 842 pts (A4) Page rot: 0 File size: 697827 bytes Optimized: no PDF version: 1.4
Просмотр сгенерированного файла PDF
Давайте взглянем на содержимое созданного нами файла с помощью программы evince:
$ evince 10-Sudo-Configurations.pdf
Пример созданного файла
В моей Linux Mint 17 выглядит отлично.
Создание таблицы содержимого (Table Of Content) файла PDF
Для создания таблицы содержимого PDF-файла используется опция toc.
Пример вывода:
Loading pages (1/6) Counting pages (2/6) Loading TOC (3/6) Resolving links (4/6) Loading headers and footers (5/6) Printing pages (6/6) Done
Для проверки TOC созданного файла снова используем программу evince:
$ evince 10-Sudo-Configurations.pdf
Дополнительную информацию об использовании и опциях Wkhtmltopdf можно получить с помощью команды help:
$ wkhtmltopdf --help