2012-10-06 90 views
10

我想把wkhtmltopdf放到一個virtualbox'ed Ubuntu 12.04 64位服務器上。到目前爲止沒有運氣。 從倉庫包都想擁有的Xserver運行和靜態版本: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 

任何想法如何,我可能接近這個?

+0

這會幫助你沒有X運行它:HTTP ://stackoverflow.com/a/12483745/694325?安裝openSSL可能有助於解決https問題(所以我聽說,還沒有測試過)。 – Nenotlep

+0

也許,但由於我沒有直接使用wkhtmltopdf(使用php集成庫),我可能需要更改庫以使用上述調用方法 – HouseMD

+0

http://stackoverflow.com/questions/4986632/run-wkhtmltopdf- on-centos-5-5-32bit有類似的問題,它與傳輸錯誤有關,但我在服務器上使用wget和extractin。同樣的錯誤出現在CentOS 5上 – HouseMD

回答

13

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

基本上,它得到了一年前固定左右,但到現在還沒有被釋放。什麼亂七八糟:(

嘗試使用0.10.0_rc2 version代替,這完美地工作對我來說

+0

是的,我也使用了rc2版本。 – HouseMD

+0

你是對的,但經過快速檢查後,它看起來像0.10.0_rc2不會在0.11.0_rc1所做的那樣確定。非常失望。 – aidan

+0

我在哪裏可以找到這個版本的源碼,我已經嘗試過0.9.9,但似乎不支持QT? –

4

的QPixmap的錯誤不會導致分段錯誤。事實上,加入--disable-javascript選項來解決這個問題,你仍然會得到警告但PDF正確生成HTH

+0

這固定了我的問題,CentOS 6,Apache 2.22,PHP 5.4,wkhtmltopdf從wkhtmltopdf.org 0.12.1二進制(與補丁Qt)。 'sudo -u apache wkhtmltopdf ...'轉換工作正常,但是當從PHP執行exec()時會出現Segfaulted。使用--disable-javascript也可以。謝謝! – jaywink

0
使用

二進制:。wkhtmltopdf 0.11.0 RC1的Linux I386

,把具有谷歌地圖API的JS網頁時,嵌入我所見過的分段錯誤在這種情況下,具有輸出文件0字節大小生成。沒有找到任何解決方案通過將不同的命令行參數運行到wkhtmltopdf來使該版本運行。

最後切換到Google Maps Static API爲了防止沉重的JS工作,這似乎導致了問題。這只是將地圖嵌入爲靜態圖像,如果您提供scale = 2作爲選項,則在打印時看起來效果很好。

0

我有一個類似的問題(段錯誤),並發現我有一個ulimit -v(虛擬內存)的限制集從Apache執行wkhtmltopdf。當使用相同的命令時,一切都從命令行運行良好。

我能夠用ulimit前面加上命令像這樣,以適應它:「的ulimit -v 1073741824; wkhtmltopdf --page大小的信......」