【问题标题】:wkhtmltopdf OpenLayers V3 failedwkhtmltopdf OpenLayers V3 失败
【发布时间】:2015-03-19 19:16:07
【问题描述】:

我尝试使用 wkhtmltopfd 从 OpenLayer V3 地图生成 PDF,但我只得到一个空图像。

此代码应生成包含地图图像的 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)。没有成功。
  • Ubuntu 14 上还有 wkhtmltopdf 0.12.1(带有修补的 qt):没有成功。

【问题讨论】:

    标签: qt pdf-generation openstreetmap wkhtmltopdf openlayers-3


    【解决方案1】:

    使用窗口状态开关“--window-status XXXX”, 如果添加此开关,PDF 组件 (wkhtmtopdf) 将等待 window-status ,一旦脚本将窗口状态设置为准备就绪或开关 wkhtmltopdf 中给出的任何内容,就会开始将 html 转换为 PDF。

    你需要做什么...... 尝试查找您的地图何时在 DOM 中加载并呈现所有内容(ajax 调用或任何长时间运行的脚本已完成/成功)然后设置 window.sataus = "ready"(使用 java 脚本)

    添加开关“--window-status ready”

    wkhtmltopdf --window-status ready http://openlayers.org/en/v3.1.1/examples/moveend.htmltest.pdf

    【讨论】:

    • A --javascript-delay 5sec 等待足以加载所有图像。所以这不会解决问题。
    • 你试过--window-status吗。
    • 对不起。目前我无法用我的特定地图对其进行测试。 (我把我的地图组件改成了leaflet.js)
    猜你喜欢
    • 2013-01-29
    • 2014-01-04
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多