2015-01-21 104 views
5

我嘗試使用OpenLayer V3地圖中的wkhtmltopfd生成PDF,但是我只獲得一張空白圖像。wkhtmltopdf OpenLayers V3失敗

此代碼應該生成帶有地圖圖像的PDF,但它只生成地圖的背景。

wkhtmltopdf --javascript-delay 5000 http://openlayers.org/en/v3.1.1/examples/moveend.html test.pdf 

我在做什麼錯了?

這是我已經檢查:

  • 我打開網頁使用Chrome並將其保存到一個PDF。有用。
  • 在Wireshark跟蹤中,我看不到任何對平鋪圖像的請求(所以阻塞平鋪服務器不是失敗)。
  • 我嘗試了一些wkhtmltopdf上的選項,如--background--images,但沒有成功(這些選項也被標記爲默認選項)。
  • 我在Windows 8上使用wkhtmltopdf 0.12.1.2(帶補丁的qt)。沒有成功。
  • 另外wkhtmltopdf 0.12.1(與補丁QT)在Ubuntu 14:沒有成功。

回答

1

使用窗口狀態開關「--window狀態XXXX」, 如果添加此開關的PDF組件(wkhtmtopdf)將等待窗口狀態,一旦腳本設置窗口sataus來準備或交換機中給出的任何內容wkhtmltopdf開始將html轉換爲PDF。

你需要做什麼...。 試着找當你的地圖,DOM加載和一切得到了渲染(Ajax調用或長時間運行的腳本已經完成/成功),然後設置window.sataus =「準備就緒」(使用Java腳本)

添加開關「--window狀態準備」

wkhtmltopdf --window狀態準備http://openlayers.org/en/v3.1.1/examples/moveend.html檢驗.pdf

+0

了'--javascript延遲5sec'等待足以載入所有圖像。所以這不會解決問題。 – powerpete 2015-03-13 11:00:03

+0

您是否嘗試過--window-狀態。 – 2015-03-13 14:41:10

+0

對不起。目前我無法用我的具體地圖進行測試。 (我將地圖組件更改爲leaflet.js) – powerpete 2015-03-16 14:53:50

相關問題