Wkhtmltopdf: una eina intel·ligent per convertir la pàgina HTML del lloc web a PDF a Linux


Wkhtmltopdf és una utilitat d'intèrpret d'ordres de línia d'ordres senzilla i molt eficaç de codi obert que permet a l'usuari convertir qualsevol HTML (pàgina web) donat a un document PDF o una imatge (jpg, png, etc.).

Wkhtmltopdf està escrit en llenguatge de programació C++ i es distribueix sota GNU/GPL (Llicència Pública General). Utilitza el motor de disseny de renderització WebKit per convertir pàgines HTML en document PDF sense perdre la qualitat de les pàgines. És realment una solució molt útil i fiable per crear i emmagatzemar instantànies de pàgines web en temps real.

Característiques de Wkhtmltopdf

  1. Codi obert i multiplataforma.
  2. Converteix qualsevol pàgina web HTML en fitxers PDF mitjançant el motor WebKit.
  3. Opcions per afegir capçaleres i peus de pàgina
  4. Opció de generació de taula de continguts (TOC).
  5. Ofereix conversions en mode per lots.
  6. Suport per a PHP o Python mitjançant enllaços a libwkhtmltox.

En aquest article us mostrarem com instal·lar el programa Wkhtmltopdf en sistemes Linux mitjançant fitxers tarball d'origen.

Instal·leu Evince (Visor de PDF)

Instal·lem el programa evince (un lector de PDF) per visualitzar fitxers PDF en sistemes 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]

Baixeu el fitxer font Wkhtmltopdf

Baixeu fitxers font wkhtmltopdf per a la vostra arquitectura Linux mitjançant la pàgina de descàrrega wkhtmltopdf.

$ wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
$ wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-i386.tar.xz

Instal·leu Wkhtmltopdf a Linux

Extraieu els fitxers a un directori de treball actual mitjançant l'ordre tar següent.

------ On 64-bit Linux OS ------
$ sudo tar -xvf wkhtmltox-0.12.4_linux-generic-amd64.tar.xz 

------ On 32-bit Linux OS ------
$ sudo tar -xvzf wkhtmltox-0.12.4_linux-generic-i386.tar.xz 

Instal·leu el wkhtmltopdf al directori /usr/bin per a una fàcil execució del programa des de qualsevol ruta.

$ sudo cp wkhtmltox/bin/wkhtmltopdf /usr/bin/

Com utilitzar Wkhtmltopdf?

Aquí veurem com convertir pàgines HTML remotes en fitxers PDF, verificar informació, veure fitxers creats mitjançant el programa evince des de l'escriptori GNOME.

Per convertir qualsevol pàgina web HTML d'un lloc web a PDF, executeu l'ordre d'exemple següent. Convertirà la pàgina web donada a 10-Sudo-Configurations.pdf al directori de treball actual.

# wkhtmltopdf https://linux-console.net/sudoers-configurations-for-setting-sudo-in-linux/ 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

Per verificar que el fitxer s'ha creat, utilitzeu l'ordre següent.

$ file 10-Sudo-Configurations.pdf
10-Sudo-Configurations.pdf: PDF document, version 1.4

Per veure la informació del fitxer generat, emet l'ordre següent.

$ 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

Fes una ullada al fitxer PDF acabat de crear mitjançant el programa evince des de l'escriptori.

$ evince 10-Sudo-Configurations.pdf

Es veu molt bé sota la meva caixa de Linux Mint 17.

Per crear una taula de contingut per a un fitxer PDF, utilitzeu l'opció com a resum.

$ wkhtmltopdf toc https://linux-console.net/sudoers-configurations-for-setting-sudo-in-linux/ 10-Sudo-Configurations.pdf
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

Per comprovar el TOC del fitxer creat, torneu a utilitzar el programa evince.

$ evince 10-Sudo-Configurations.pdf

Fes una ullada a la imatge següent. sembla encara més millor que l'anterior.

Per a més ús i opcions de Wkhtmltopdf, utilitzeu l'ordre d'ajuda següent. Mostrarà una llista de totes les opcions disponibles que podeu utilitzar amb ell.

$ wkhtmltopdf --help