2013-12-18 34 views
1

我正在開發一個用於此目的的自動生成報表的小型項目我正在開發一些HTML,我將它轉換爲使用wkhtmltopdf的pdf。wkhtmltopdf --use-xserver選項

我開發了一個使用windows版本的解決方案,在遷移到Linux時遇到了麻煩。

當遷移到Linux我使用javaScript生成的圖表,其中沒有正確渲染,做了一些研究後,我發現解決方案是使用wkhtmltopdf --use-xserver選項,我在終端上試過它,它工作完美。

這裏就是我的問題來了:

我可以用我的用戶--use-X服務器選項,並沒有任何問題的根用戶,但是當我的應用程序使用「雄貓」用戶與執行wkhtmltopdf --use-的Xserver選項它提供了以下錯誤:

No protocol specified. 
Wkhtmltopdf: Cannot conect to X server :0.0 

我試圖修改的權限和wkhtmltopdf可執行到tomcat用戶的所有權,但仍然將其與其他用戶的工作,但不能與「雄貓」 。

我也嘗試將所有權和組設置爲根root並激活位SUID以便讓其他每個用戶root權限執行它,但仍然是相同的。

任何線索?

我很迷茫。

回答

1

最後我找到了一個解決方案。

首先需要安裝XVFB:

sudo apt-get install xvfb 

在此之後,有必要爲了有一個圖形界面運行xvfb的內部wkhtmltopdf:

xvfb-run --server-args="-screen 0, 1024x768x24" wkhtmltopdf --use-xserver file1.html file2.pdf 

這也是更多鈔票來執行時不指定服務器參數:

xvfb-run wkhtmltopdf --use-xserver file1.html file2.pdf