我正在与WKTHMTOPDF合作并且非常享受它.但是,正在转换的页面具有谷歌地图,并且生成的PDF随着地图的一半加载而出现.我知道有一个选项可以--javascript--delay在以前的版本中添加,但它似乎已被弃用.我使用的是0.99版本.有不同的选择吗?
mwa*_*wag 25
还有另一种更好的方法,不需要使用--javascript - 延迟(并且有一个好处,就是在你知道所需的延迟实际上是什么之前不要求你设置延迟时间).
添加回调到'tileloaded'事件:
google.maps.event.addListenerOnce(map, 'tilesloaded', function(){
window.status = 'ready_to_print';
});
Run Code Online (Sandbox Code Playgroud)
然后调用wkhtmltopdf并将--window.status选项设置为'ready_to_print',例如
wkhtmltopdf --window-status ready_to_print map.html map.pdf
Run Code Online (Sandbox Code Playgroud)
显然你可以将字符串'ready_to_print'更改为你想要的任何东西,只要在调用wkhtmltopdf并且在上面的代码触发之前window.status还没有等于那个值.
类似的方法可以与谷歌图表一起使用,但适当的事件使用不同的名称.
Roh*_*hal 10
您可以使用wkhtmltopdf版本0.12.0
我也在网站上使用了一些高度javascript的内容.以前,版本0.99没有正确渲染但是当我使用版本0.12使用该选项时--javascript-delay,一切看起来都很好.
你也可以添加其他选项来完美加载你的javascript --enable-javascript,--no-stop-slow-scripts等等
确保在使用--javascript-delay时必须使用适当的时间延迟,这取决于您的网站需要多长时间才能呈现.如果你将使用更多的时间延迟,那么执行将花费更多的时间,如果你将花费更少的时间延迟,那么javascript将无法正确加载.
指向wkhtmltopdf最新版本的链接
| 归档时间: |
|
| 查看次数: |
19501 次 |
| 最近记录: |