Cuando se necesita convertir paginas html a pdf la mejor alternativa es wkhtmltopdf ya que usa el poder de webkit, he tenido muy buenos resultados, incluso imprime archivos svg embebidos en el html. Pero para poder usarlo es indispensable instalarlo y a veces es necesario tener permisos administrativos para hacerlo. En Ubuntu es tan sencillo como escribir sudo apt-get install wkhtmltopdf pero en CENTOS 6 el proceso es mucho mas complejo y lo describo a continuacion:
Descargar wkhtmtopdf desde google code en instalarlo en /usr/local/bin (descargue la version x86_64 correspondiente a la arquitectura de mi servidor), para otros casos es necesario descargar la versio i386
wget http://wkhtmltopdf.googlecode.com/files/wkhtmltopdf-0.11.0_rc1-static-amd64.tar.bz2
tar -xjvf wkhtmltopdf-0.11.0_rc1-static-amd64.tar.bz2
chmod 0755 wkhtmltopdf-amd64
mv wkhtmltopdf-amd64 /usr/local/bin/wkhtmltopdf
ln -s /usr/local/bin/wkhtmltopdf /usr/bin/
Cuando trate de correr la aplicación me aparecio el error
wkhtmltopdf: error while loading shared libraries: libXrender.so.1: cannot open shared object file: No such file or directory
Lo solucione instalando libxrender con el comando
yum install libXrender
Luego apareció un nuevo error
wkhtmltopdf: error while loading shared libraries: libfontconfig.so.1: cannot open shared object file: No such file or directory
Para solucionarlo hay que instalar fontconfig
yum install fontconfig
El nuevo mensaje de error fue
wkhtmltopdf: error while loading shared libraries: libXext.so.6: cannot open shared object file: No such file or directory
Debido a que es necesario instalar libXext
yum install libXext
Al tratar de usarlo me aparecen errores como
QPixmap: Cannot create a QPixmap when no GUI is being used
Esto se debe a que necesita un servidor gráfico pero no es muy práctico instalarlo en el servidor ya que normalemente to se necesita, para ello hay una alternativa. Instalar xvfb que es un mini servidor grafico
yum install xorg-x11-server-Xvfb
Luego sale el error
xvfb-run: error: xauth command not found
Que se soluciona al instalar
yum install xorg-x11-xauth
Ahora podermos convertir las paginas html a PDF pero hay problemas con las tipografias por eso es necesario instalar las tipografias, pero antes es necesario instalar cabextract
wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
rpm -K rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
rpm -i rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
yum install cabextract
Finalmente instalamos las tipografias y wkhtmltopdf funciona correctamente
rpm -Uvh https://downloads.sourceforge.net/project/mscorefonts2/rpms/msttcore-fonts-installer-2.2-1.noarch.rpm