Наши партнеры

UnixForum





Библиотека сайта 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, также вы можете загрузить последнюю версию на странице загрузки wkhtmltopdf.

Для 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

TOC

Дополнительную информацию об использовании и опциях Wkhtmltopdf можно получить с помощью команды help:

$ wkhtmltopdf --help