2013-07-09 134 views
0

我試圖從我的網站上保存一頁到pdf。我能夠使用絕對URL來使樣式表工作,但無論如何都無法讓圖像呈現。Wkhtmltopdf不呈現圖像

我試過使用相對URL,絕對URL - 甚至'/ var/www/vhosts ...'服務器路徑。沒有錯誤報告,並且沒有圖像被渲染。圖像應該是空間崩潰,就好像它甚至不是代碼的一部分!

我試過wkhtmltopdf版本:11.0 RC1,10.0 RC2和9.9。運行Cent OS 6.3。

我使用PHP類PHP WkHtmlToPdf(http://mikehaertl.github.io/phpwkhtmltopdf/)。我還沒有嘗試在命令行上運行相同的命令,因爲我所呈現的頁面受密碼保護並使用了會話變量。

同一頁面在瀏覽器中完美呈現。

我試過了我可以找到的每個解決方案 - 任何幫助將不勝感激!

回答

3

今天偶然偶然發現了答案。

我的圖像包含在絕對定位的div中,基於百分比高度和頂部位置。在網站上,包含div有一個確定的高度,所以這工作正常。在打印副本上,這個div不再存在,所以它看起來像是將圖像保持div放在頁面的外面,或者將它的高度降低爲0.無論哪種方式 - 將整頁大小絕對定位在div元素周圍不僅使圖像正確渲染,還糾正了頁面上其他絕對定位元素的位置!

0

下面是另一個原因,即使在HTML中渲染正常,您的圖片可能不會顯示在PDF上。

如果您在.htaccess文件中有RewriteEngine on文件在圖像(或其父目錄)中運行,則可能是原因。

要檢查這一點,註釋掉重寫條件並重試。

爲了達到這個目的,我發現curl在命令行中的圖像幫助解決了這個問題。一個命令,例如:

curl "http://localhost/directory/path/logo.png" 

可能返回Forbidden,有一條消息,如「您沒有權限訪問...在此服務器上」