【问题标题】:Generate PDF on the server from Google Maps API?从 Google Maps API 在服务器上生成 PDF?
【发布时间】:2011-08-05 14:08:37
【问题描述】:

我们有一个托管的web app,它使用 Google Maps API 生成各种类型的地理报告,结合使用 javascript API 添加标记和形状,以及用于其他图层的 KML 覆盖。

客户希望将这些地图转换为精美的可下载和可打印的 PDF 地图。我不知道从哪里开始。有任何想法吗?

【问题讨论】:

  • 你应该从Googlemaps legal notice开始。您的想法可能属于 3.1(b),因此您应该首先获得 Tele Atlas 的许可。
  • 不是律师,但我认为我们还可以。我对法律声明的解读是,使用他们的地图数据制作地图集然后出售以赚钱是不行的。显然,您可以从浏览器打印地图,而我只是希望以稍高的质量来打印。

标签: pdf-generation google-maps-api-3 kml


【解决方案1】:

正如 Mark Storer 指出的,您可以使用wkhtmltopdf

如果您的地图中有折线或其他东西,您可能需要 wkhtmltopdf 等待所有部分都到位,然后再生成 PDF。 这可以通过最新版本 0.10.0_rc2 和 --window-status 参数来完成(一旦一切就绪,目标页面中的 javascript 必须更新 window.status 变量)。

查看手册here

示例用法如下:

wkhtmltopdf.exe --page-size A4 --dpi 600 --window-status ready --print-media-type http://www.yoursite.com/target.html target.pdf

缺点:整个过程在资源方面有点矫枉过正,所以如果你的 webapp 获得大量点击,你可能需要密切关注这方面。

【讨论】:

  • 对其他人不适用:如果 wkhtmltopdf 进程遇到 javascript 错误,它可能永远不会触发 window.status 更改,从而导致进程无限期挂起,这很糟糕。
【解决方案2】:

一旦您了解了所有法律细节,我建议您查看 wkthmltopdf。它将准确评估页面的 JavaScript,这对任何 Google 地图网页都至关重要。

【讨论】:

    【解决方案3】:

    您需要获得 Google 的 Premier 许可,否则您将违反服务条款

    【讨论】:

    • 感谢您的提示。对我提出的实际问题有什么想法?
    • 如果您获得高级许可证,那么您将能够使用静态地图进行打印
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-11
    • 2020-04-24
    • 1970-01-01
    • 2016-03-03
    • 1970-01-01
    • 2011-07-31
    • 1970-01-01
    相关资源
    最近更新 更多