Установка wkhtmltopdf & wkhtmltoimage в Ubuntu 20.04 | 18.04 / Debian 10 | 9

Установка wkhtmltopdf & wkhtmltoimage в Ubuntu 20.04 | 18.04 / Debian 10 | 9

 

В этом руководстве мы установим wkhtmltopdf и wkhtmltoimage в системе Ubuntu / Debian Linux. wkhtmltopdf и wkhtmltoimage — это инструменты командной строки с открытым исходным кодом (LGPLv3), используемые для рендеринга HTML в PDF и различные форматы изображений с помощью механизма рендеринга Qt WebKit.

Версии этих инструментов, доступные в системе Ubuntu / Debian Linux, старые. Чтобы установить последнюю версию wkhtmltopdf и wkhtmltoimage в Debian 10 / Ubuntu 20.04 / 18.04 Linux, вам необходимо вручную загрузить и установить из пакета .deb . Эти инструменты работают полностью « без головы » и не требуют отображения или службы отображения.

 

Установка wkhtmltopdf в Ubuntu 20.04 | 18.04 и Debian 10 | 9

Загрузите последний предварительно скомпилированный двоичный файл со страницы выпусков . Последний выпуск на момент обновления этой статьи — 0.12.6.

Установка wkhtmltopdf в Ubuntu 20.04 / 18.04

Ubuntu 20.04:

wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.focal_amd64.deb
sudo apt install ./wkhtmltox_0.12.6-1.focal_amd64.deb

Ubuntu 18.04:

wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.bionic_amd64.deb
sudo apt install ./wkhtmltox_0.12.6-1.bionic_amd64.deb

Ubuntu 16.04:

wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.xenial_amd64.deb
sudo apt install ./wkhtmltox_0.12.6-1.xenial_amd64.deb

Результат успешной установки выглядит следующим образом.

...
Unpacking xfonts-75dpi (1:1.0.4+nmu1) ...
Selecting previously unselected package xfonts-base.
Preparing to unpack .../17-xfonts-base_1%3a1.0.5_all.deb ...
Unpacking xfonts-base (1:1.0.5) ...
Selecting previously unselected package wkhtmltox.
Preparing to unpack .../18-wkhtmltox_0.12.6-1.focal_amd64.deb ...
Unpacking wkhtmltox (1:0.12.6-1.focal) ...
Setting up libxau6:amd64 (1:1.0.9-0ubuntu1) ...
Setting up libxdmcp6:amd64 (1:1.1.3-0ubuntu1) ...
Setting up libxcb1:amd64 (1.14-2) ...
Setting up x11-common (1:7.7+19ubuntu14) ...
update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults
Setting up libfontenc1:amd64 (1:1.1.4-0ubuntu1) ...
Setting up libx11-data (2:1.6.9-2ubuntu1.1) ...
Setting up xfonts-encodings (1:1.0.5-0ubuntu1) ...
Setting up fonts-dejavu-core (2.37-1) ...
Setting up libjpeg-turbo8:amd64 (2.0.3-0ubuntu1.20.04.1) ...
Setting up libx11-6:amd64 (2:1.6.9-2ubuntu1.1) ...
Setting up libxrender1:amd64 (1:0.9.10-1) ...
Setting up fontconfig-config (2.13.1-2ubuntu3) ...
Setting up libxext6:amd64 (2:1.3.4-0ubuntu1) ...
Setting up xfonts-utils (1:7.7+6) ...
Setting up xfonts-base (1:1.0.5) ...
Setting up libfontconfig1:amd64 (2.13.1-2ubuntu3) ...
Setting up xfonts-75dpi (1:1.0.4+nmu1) ...
Setting up fontconfig (2.13.1-2ubuntu3) ...
Regenerating fonts cache... done.
Setting up wkhtmltox (1:0.12.6-1.focal) ...
Processing triggers for systemd (245.4-4ubuntu3.3) ...
Processing triggers for man-db (2.9.1-1) ...
Processing triggers for libc-bin (2.31-0ubuntu9.1) ...

Установка wkhtmltopdf в Debian 10 / Debian 9

Установите инструмент командной строки wget.

sudo apt update
sudo apt -y install wget

Установите wkhtmltopdf & wkhtmltoimage в Debian 10/9 Linux

--- Debian 10 ---
wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.buster_amd64.deb
sudo apt install ./wkhtmltox_0.12.6-1.buster_amd64.deb

--- Debian 9 ---
wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.stretch_amd64.deb
sudo apt install ./wkhtmltox_0.12.6-1.stretch_amd64.deb

Проверьте версию wkhtmltopdf и wkhtmltoimage, чтобы убедиться, что установка прошла успешно.

$ wkhtmltopdf --version
wkhtmltopdf 0.12.6 (with patched qt)

$ wkhtmltoimage --version
wkhtmltoimage 0.12.6 (with patched qt)

Использование wkhtmltopdf в Ubuntu / Debian

Например, если вы хотите преобразовать веб-страницу в PDF, используйте синтаксис команды:

$  wkhtmltopdf <webpage> <destination-pdf-file>

См. Пример ниже.

wkhtmltopdf https://infoit.com.ua infoit.pdf

Результат выполнения:

Будет создан файл pdf, и вы можете открыть и просмотреть его содержимое.

$ file infoit.pdf 
infoit.pdf: PDF document, version 1.4

Аналогичный синтаксис применяется при преобразовании в изображение.

$ wkhtmltoimage https://infoit.com.ua infoit.png
Loading page (1/2)
QFont::setPixelSize: Pixel size <= 0 (0)=============>       ] 88%
QFont::setPixelSize: Pixel size <= 0 (0)
QFont::setPixelSize: Pixel size <= 0 (0)==============>      ] 89%
QFont::setPixelSize: Pixel size <= 0 (0)
QFont::setPixelSize: Pixel size <= 0 (0)
QFont::setPixelSize: Pixel size <= 0 (0)===============>     ] 90%
QFont::setPixelSize: Pixel size <= 0 (0)
QFont::setPixelSize: Pixel size <= 0 (0)===============>     ] 90%
QFont::setPixelSize: Pixel size <= 0 (0)
QFont::setPixelSize: Pixel size <= 0 (0)===============>     ] 90%
QFont::setPixelSize: Pixel size <= 0 (0)
QFont::setPixelSize: Pixel size <= 0 (0)
QFont::setPixelSize: Pixel size <= 0 (0)===============>     ] 90%
QFont::setPixelSize: Pixel size <= 0 (0)
QFont::setPixelSize: Pixel size <= 0 (0)
QFont::setPixelSize: Pixel size <= 0 (0)===============>     ] 90%
QFont::setPixelSize: Pixel size <= 0 (0)
QFont::setPixelSize: Pixel size <= 0 (0)===============>     ] 90%
QFont::setPixelSize: Pixel size <= 0 (0)=====================] 100%
QFont::setPixelSize: Pixel size <= 0 (0)
Rendering (2/2)                                                    
Done

Ознакомьтесь с руководствами, в которых используется инструментарий wkhtmltopdf.