Wkhtmltopdf, genera archivos pdf o imágenes a partir de una web
En el siguiente artículo vamos a echar un vistazo al paquete wkhtmltopdf, el cual incluye las herramientas wkhtmltopdf y wkhtmltoimage. Estas son herramientas para la línea de comandos, de código abierto (LGPLv3) con las que renderizar HTML en PDF o en varios formatos de imagen utilizando el motor de renderizado Qt WebKit.
En las siguiente líneas vamos a ver cómo podemos convertir las páginas web de formato html al formato pdf o de imagen, todo ello de manera sencilla y con tan solo un comando para cada caso. Para obtener estos resultados, utilizaremos las herramientas de línea de comandos mencionadas wkhtmltopdf y wkhtmltoimage.
En el caso de wkhtmltopdf, hay que decir que es capaz de colocar varios objetos en el archivo de salida. Nos va a permitir trabajar ya sea con una sola página, una página web de portada o una tabla de contenido. Los objetos se colocan en el documento de salida en el orden en que se especifican en el línea de comando, las opciones se pueden especificar por objeto o en el área global de opciones.
Instalar wkhtmltopdf en Ubuntu 18.04
Para poder obtener las últimas versiones de las herramientas incluidas en el paquete wkhtmltopdf, necesitaremos instalar el paquete .deb correspondiente, el cual tendremos que descargar desde su web. En las siguiente líneas vamos a instalar wkhtmltopdf y wkhtmltoimage en Ubuntu 18.04 de forma rápida y sencilla.
Para empezar vamos a actualizar la lista de software disponible para el sistema operativo. Esto lo haremos escribiendo en una terminal (Ctrl+Alt+T):
sudo apt update
Actualizada la lista de software, vamos a instalar wget, en caso de que no lo tengamos instalado ya:
sudo apt -y install wget
El siguiente paso será visitar la página web de lanzamientos, desde ella vamos a poder descargar su última versión estable publicada. En esta página vamos a encontrar la última versión del paquete .deb de wkhtmltopdf. También se puede escribir en la terminal el siguiente comando, con el que nos vamos a descargar la última versión estable a día de hoy:
wget https://downloads.wkhtmltopdf.org/0.12/0.12.5/wkhtmltox_0.12.5-1.bionic_amd64.deb
Terminada la descarga, ya podemos instalar el paquete recién descargado escribiendo el comando:
sudo dpkg -i wkhtmltox_0.12.5-1.bionic_amd64.deb
Si fallan las dependencias, como se puede ver en la captura anterior, vamos a poder corregir esto escribiendo en la misma terminal:
sudo apt -f install
Cómo utilizar wkhtmltopdf en Ubuntu
Si nos interesa convertir una página web a formato PDF, no tendremos más que utilizar la siguiente sintaxis en la terminal para realizar la conversión:
wkhtmltopdf [página-web] [archivo.pdf]
Un ejemplo de uso para utilizar este comando sería el siguiente:
wkhtmltopdf https://es.wikipedia.org/wiki/Bash bash.pdf
Terminada la conversión, ya se pueden ver los resultados. Se habrá creado un archivo pdf en el directorio desde el que ejecutamos el comando, el cual nos permitirá ver su contenido, como haríamos con cualquier pdf.
file bash.pdf
Cómo utilizar wkhtmltoimage en Ubuntu
En caso de que nos interese convertir a imagen una página web, podemos utilizar la misma sintaxis que usamos con el comando anterior:
wkhtmltoimage https://es.wikipedia.org/wiki/Bash bash.png
Ayuda
Se puede obtener ayuda sobre wkhtmltopdf y wkhtmltoimage escribiendo en la terminal los siguientes comandos. Para obtener la ayuda acerca del primer comando habrá que utilizar:
wkhtmltopdf -h
En caso de necesitar ayuda sobre el segundo comando, también podemos añadir la misma opción:
wkhtmltoimage -h
Otra forma de obtener ayuda será utilizar las página man correspondientes.
Acabamos de ver cómo podemos convertir las páginas web de formato HTML que nos interese a formato PDF e Imagen utilizando las herramientas wkhtmltopdf y wkhtmltoimage. El uso que los usuarios podemos hacer de estas herramientas es variado, desde utilizarlas para generar facturas, guardar apuntes, crear tarjetas de cumpleaños o cualquier otro tipo de cosa que se nos ocurran. Tan solo habrá que usar la imaginación.
El código fuente de esta aplicación está disponible en el repositorio de GitHub de la aplicación y se puede saber más acerca de ella en la página web del proyecto. En ella se puede encontrar documentación acerca de estas herramientas.