2012-10-06 23 views
10

Estoy tratando de poner wkhtmltopdf en un servidor Ubuntu Ubuntu ubuntu 12.04 64bit. Hasta ahora sin suerte. El paquete desde los repositorios quiere tener servidor X en ejecución y la versión estática:wkhtmltopdf segfaults

wkhtmltopdf google.com tesss.pdf 
Loading pages (1/6) 
QSslSocket: cannot resolve SSLv2_client_method    ] 10% 
QSslSocket: cannot resolve SSLv2_server_method 
Counting pages (2/6)            
Resolving links (4/6)              
Loading headers and footers (5/6)           
Printing pages (6/6) 
QPixmap: Cannot create a QPixmap when no GUI is being used===] Page 1 of 1 
QPixmap: Cannot create a QPixmap when no GUI is being used 
QPixmap: Cannot create a QPixmap when no GUI is being used 
QPixmap: Cannot create a QPixmap when no GUI is being used 
QPixmap: Cannot create a QPixmap when no GUI is being used 
QPixmap: Cannot create a QPixmap when no GUI is being used 
QPixmap: Cannot create a QPixmap when no GUI is being used 
Segmentation fault 

Alguna idea de cómo podría acercarse a este?

+0

Sería esto ayuda que ejecutarlo sin x: http : //stackoverflow.com/a/12483745/694325? La instalación de openSSL podría ayudar con los problemas de https (por lo que escuché, no lo he probado). – Nenotlep

+0

Quizás, pero como no estoy usando wkhtmltopdf directamente (usando la biblioteca de integración de php) podría necesitar cambiar la biblioteca para usar el método de llamada descrito anteriormente – HouseMD

+0

http://stackoverflow.com/questions/4986632/run-wkhtmltopdf- on-centos-5-5-32bit tenía un problema similar y estaba relacionado con errores de transferencia, pero estoy usando wget y extractin en el servidor. El mismo error aparece en CentOS 5 – HouseMD

Respuesta

13

http://code.google.com/p/wkhtmltopdf/issues/detail?id=730

Básicamente, lo arreglaron hace alrededor de un año, pero todavía no se ha liberado. Qué lío :(

Trate de usar 0.10.0_rc2 version lugar, que funcionaba perfectamente para mí

+0

Sí, también utilicé la versión rc2. – HouseMD

+0

Está en lo cierto, pero después de una inspección rápida, parece que 0.10.0_rc2 no hace kerning donde lo hace 0.11.0_rc1. Muy decepcionante. – aidan

+0

¿Dónde puedo encontrar esta fuente de versión, he intentado con la 0.9.9 pero parece que no es compatible con QT? –

4

Los errores QPixmap no están causando el fallo de segmentación. De hecho, la adición de la opción --disable-javascript resuelve el problema. Usted seguirá recibiendo las advertencias pero el PDF se genera correctamente HTH

+0

Esto solucionó mi problema, CentOS 6, Apache 2.22, PHP 5.4, wkhtmltopdf binario de wkhtmltopdf.org 0.12.1 (con parche Qt). La conversión funcionó bien con 'sudo -u apache wkhtmltopdf ...' pero segfaulted cuando exec() desde PHP. Con --disable-javascript también funciona allí. ¡Gracias! – jaywink

0

binario usado:... wkhtmltopdf 0.11.0 RC1 Linux i386

he visto los fallos de segmentación al convertir páginas que tienen API de JavaScript de Google Maps incrustado En esos casos un archivo de salida que tiene Se generó un tamaño de 0 bytes. No encontré ninguna solución. para hacer que esta versión se ejecute con diferentes argumentos de línea de comando a wkhtmltopdf.

Finalmente se cambió a Google Maps Static API para evitar el pesado trabajo JS, que parece causar el problema. Esto solo incrusta el mapa como una imagen estática, que se ve bastante bien cuando se imprime si se proporciona scale = 2 como opción.

0

Tuve un problema similar (segfault) y descubrí que tenía un límite ulimit -v (memoria virtual) establecido al ejecutar wkhtmltopdf desde apache. Todo funcionaba bien desde la línea de comandos cuando se usaba el mismo comando.

pude encajar anteponiendo el comando con ulimit así: "ulimit -v 1073741824; wkhtmltopdf --page de tamaño Carta ...."

Cuestiones relacionadas