Wkhtmltopdf alternativo para OpenERP (Odoo)

Una de las herramientas utilizadas para imprimir PDF desde OpenERP/Odoo, es WebKit, denominado como: wkhtmltopdf, los últimos nombres para dicho programas desde su sitio oficial ha cambiado a wkhtmltox, cada versión del wkhtmltopdf corresponde a una versión específica de sistema operativo y versión específica de OpenERP/Odoo, en la sección de descarga tiene su respectiva especificación.

Sin embargo, muchas veces conseguimos el inconveniente para realizar una impresión PDF, la herramienta requiere de un servicio gráfico y si OpenERP/Odoo está instalado sobre un servidor sin interfaz gráfica, empieza el inconveniente.

Para solventar el caso, se debe usar un emulador de servicio gráfico o servidor gráfico virtual. Sobre sistemas Debian, podemos usar el servicio virtual: xvfb

Una vez que tenemos instalado el servicio, podemos crear un pequeño script que lo usará el OpenERP/Odoo. El script puede llamarse wkhtmltopdf-odoo y su contenido debería tener algo parecido a lo siguiente:

#!/bin/bash

WKHTML=$(which wkhtmltopdf)

/usr/bin/xvfb-run --server-args="-screen 0, 1024x768x24" $WKHTML $*

Posteriormente, se puede copiar en una ruta estándar global para usarlo, por ejemplo:

cp wkhtmltopdf-odoo /usr/local/bin/.

Asignar permisos de ejecución:

chmod 755 /usr/local/bin/wkhtmltopdf-odoo

Luego, se configura en los parámetros del sistema en OpenERP/Odoo parecido a como está en la siguiente imagen:

Screenshot from 2016-03-22 10:52:38

Advertisements

About felixurbina

Humano con todos los defectos y virtudes que vienen de fábrica.
This entry was posted in Odoo, OpenERP. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s