He estado usando wkthmltopdf para convertir documentos html a pdf sobre la marcha en mi servidor web linux. El programa originalmente necesitaba X11 o un servidor X similar para ejecutarse correctamente, pero a través de muchas solicitudes de los desarrolladores para que se ejecute en servidores sin GUI, estoy bastante seguro de que ejecuta un servidor X virtual en la versión estática . ¡He estado usando la versión estática (independiente) del programa y funciona muy bien! Pondría el archivo ejecutable en una carpeta y ejecutaría:
./wkhtmltopdf file1.html file2.pdf
Sin embargo, me gustaría instalar este programa en todo el sistema. Usé el apt-get install wkhtmltopdf
(recién instalado ayer) y como estoy ejecutando en un sistema de 64 bits, también lo necesitaba apt-get install ia32-libs
. Después de la instalación, puedo encontrar la versión así:
wkhtmltopdf --version
salida:
Name:
wkhtmltopdf 0.9.9
License:
Copyright (C) 2008,2009 Wkhtmltopdf Authors.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO
WARRANTY, to the extent permitted by law.
Authors:
Written by Jakob Truelsen. Patches by Mário Silva, Benoit Garret and Emmanuel
Bouthenot.
Ahora, cuando intento ejecutar el programa instalado a través de aptitude, aparece el siguiente error:
wkhtmltopdf: cannot connect to X server
¿Alguien sabe como puedo arreglar esto? Supongo que a esta versión le falta un servidor X virtual o algo así.
fuente
/usr/bin/
directorio, puede usarlo desde cualquier lugar. Agregaron un servidor x virtual al ejecutable estático, por lo que no es necesario crear el script contenedor.If you get the error "Cannot connect to X server" then continue to number 6.
supone que significa el enunciado del número 6 ? Estoy muy confundido por esto. ¿Quiere decir que continúe hasta el número 7?Esto me resolvió el problema:
fuente
sudo yum install xorg-x11-server-Xvfb
resp.sudo dnf install xorg-x11-server-Xvfb
.Traté de hacerlo
sudo apt-get install wkhtmltopdf
pero sin éxito. En su lugar, te recomiendo que pruebes:Descargue el último ejecutable (.11 rc1):
wget https://wkhtmltopdf.googlecode.com/files/wkhtmltopdf-0.11.0_rc1-static-i386.tar.bz2
descomprimirlo:
tar -vxf wkhtmltopdf-0.11.0_rc1-static-i386.tar.bz2
cambiarle el nombre:
mv wkhtmltopdf-i386 wkhtmltopdf
modifíquelo a ejecutable:
chmod a+x wkhtmltopdf
colóquelo en / usr / bin:
sudo mv wkhtmltopdf /usr/bin
fuente
https://wkhtmltopdf.googlecode.com/files/wkhtmltopdf-0.9.9-static-i386.tar.bz2
Lo acabo de hacer:
1- Para descargar las dependencias de wkhtmltopdf
# apt-get install wkhtmltopdf
2- Descarga de la fuente
# wget http://downloads.sourceforge.net/project/wkhtmltopdf/xxx.deb
# dpkg -i xxx.deb
3- Prueba
# wkhtmltopdf http://google.com google.pdf
Está funcionando bien
¡Funciona!
fuente
apt-get install -f
después de instalar el paquete para obtener las dependencias. De lo contrario funcionó a las mil maravillas. Prefiero mucho este método a los otros descritos.wget -q http://downloads.sourceforge.net/project/wkhtmltopdf/0.12.2.1/wkhtmltox-0.12.2.1_linux-trusty-amd64.deb
seguido porsudo dpkg --install wkhtmltox-0.12.2.1_linux-trusty-amd64.deb
sudo mv wkhtmltopdf /usr/bin
desde el/usr/local/bin/
directorio, ¡pero funcionó muy bien! Probé todos los demás métodos de esta página sin suerte antes de la mano ..Encontré un método para resolver este problema sin un servidor X falso. En la versión más reciente de wkhtmltopdf, no necesita el servidor X para trabajar, pero no en los repositorios oficiales de Linux.
Solución para Ubuntu 14.04.4 LTS (trusty) i386
Solución para Ubuntu 14.04.4 LTS (trusty) amd64
El usuario felixhummel obtuvo una muy buena solución, pero el repositorio con utilite ha cambiado.
fuente
Ampliando la respuesta de Timothy ...
Si es un desarrollador web que busca usar wkhtmltopdf como parte de su aplicación web, simplemente puede instalarlo en su
/usr/bin/
carpeta así:Ahora puede ejecutarlo en cualquier lugar usando
wkhtmltopdf
.Yo personalmente uso la biblioteca Snappy en PHP. A continuación, se muestra un ejemplo de lo fácil que es crear un PDF:
fuente
Actualice a la última versión de wkhtmltopdf de SourceForge (0.12 al momento de escribir este artículo). No necesita un servidor X para funcionar.
Ejemplo para Ubuntu 14.04:
fuente
para 14.04.1-Ubuntu https://wkhtmltopdf.org/downloads.html
fuente
fuente
El problema probablemente esté en la versión anterior de wkhtmltopdf : la versión 0.9 del repositorio de distribución requiere ejecutar el servidor X, pero la versión actual, 0.12.2.1 no lo requiere, puede ejecutarse sin cabeza.
Descargue el paquete para su distribución desde http://wkhtmltopdf.org/downloads.html e instálelo - para Ubuntu:
fuente
wkhtmltopdf
>0.11
no tiene esteX-server
problema.Así que instalarlo
0.12.2.1
en un servidor Linux.Primero instale el servidor xvfb:
Obtenga la versión necesaria de wkhtmltopdf de http://wkhtmltopdf.org/downloads.html
Instale wkhtmltopdf:
o instalar con
wget
Instale la dependencia (si es necesario):
Crea un enlace simbólico en
/usr/local/bin/
:Ahora intente a continuación y debería funcionar,
fuente
Me acabo de dar cuenta de que simplemente puedo mover el ejecutable estático al
/usr/bin/
directorio y ejecutarlo desde cualquier lugar.fuente
Se recomienda utilizar al menos 0.12.2.1.
A partir de wkhtmltopdf> = 0.12.2 ya no requiere servidor X o emulación. Puede descargar la nueva versión desde http://wkhtmltopdf.org/downloads.html
fuente
Seguí las instrucciones aquí e hice que wkhtmltopdf funcionara para mí, pero me gustaría ofrecer un poco de perspectiva que descubrí mientras hacía mi propio pequeño baile con
wkhtmltopdf
-xvfb
.Esto es importante porque la misma razón que hace que arroje el infame
cannot connect to X server
error también hace que se ejecute con limitaciones severas, incluso si le proporciona un servidor X. Estas limitaciones incluyen no poder tomar múltiples fuentes de entrada, establecer encabezados y pies de página, etc. (consulte la sección Funcionalidad reducida del manual ).wkhtmltox
por sí solo no requiere un X11, sin embargo, utiliza bibliotecas QT que sí lo hacen. En las nuevas versiones de wkthmltox, los desarrolladores crearon un parche para QT que le permite funcionar con un X11.Actualmente, algunas versiones están construidas con QT parcheado y otras no. Puede comprobar su versión ejecutando
wkhtmltopds --version
. Debería haber una línea al final diciendoCompiled against wkhtmltopdf patched qt.
Entonces, para concluir, si instala y usa una versión que usa las bibliotecas parcheadas, debería funcionar en un servidor Linux sin el
xvfb
servidor, como puedo confirmar.fuente
solución para Centos7 :
Nos encontramos con este problema dentro de los contenedores de la ventana acoplable y la instalación anterior tiene wkhtmltopdf con QT parcheado
fuente
sudo rpm -Uvh https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.2.1/wkhtmltox-0.12.2.1_linux-centos7-amd64.rpm
Preste atención: su archivo podría ser
wkhtmltopdf.sh
owkhtmltopdf
, verifíquelo en el segundo pasoDebe copiarlo en el directorio: / usr / local / bin , hacer que sea ejecutable y agregar el enlace simbólico de wkhtmltopdf.sh como:
1- el comando:
2 - inserte el binario en el directorio / usr / bin para que el navegador no tenga permiso para ejecutarse en este directorio. Debe copiar wkhtmltopdf.sh al directorio / usr / local / bin porque el navegador tiene permiso en este directorio como:
3 - Después de make sur el binario tiene permiso de ejecución como:
4 - ahora puedes probar, funciona como:
hace descargar el pdf en el directorio actual en su terminal
5 - Opcional ahora puede agregar un enlace simbólico en su directorio / usr / local / bin como
fuente
/usr/bin/
/usr/bin/wkhtmltopdf
wkhtmltopdf http://www.google.com test.pdf
pista: información detallada de este enlacefuente
Simplemente instale una versión 0.12.4 o superior. Esto parece solucionar el problema.
Consulte ¿Cómo puedo instalar la última versión de wkhtmltopdf en Ubuntu 16.04? .
fuente
Si configura wkhtmltopdf para Rails o Somethings en Centos, puede seguir estos pasos a continuación:
En centos server bash.
wget link_of_wkhtmltopdf_rpm.rpm
rpm -ivh link_of_wkhtmltopdf_rpm.rpm
which wkhtmltopdf
=> Obtendrá la ruta de wkhtmltopdf.
Configuración para wicked_pdf o pdfkit con la ruta en el paso 4. Esta es una configuración de muestra con wickedpdf. config / initializers / wicked_pdf.rb
Reinicie el servidor.
HECHO.
fuente
Para uso de 64 bits:
fuente
Simplemente dígale al backend de Qt que no use X:
fuente