wkhtmltopdf 在打印之前等待条件

19
我们正在使用 wkhtmltopdf 将动态 HTML 页面转换为 PDF。 我们需要等待所有 ajax 请求完成。
是否有可能通过条件来延迟打印?

我猜测之所以没有这个选项,是因为当你过于深入思考时,它会崩溃。想象一下一个页面每隔N秒钟不断地轮询一个AJAX端点,这实际上非常常见。虽然你的情况可能没有这种情况,但wkhtmltopdf并不知道,也没有真正的方法来标记你是否有一个固定的负载路径。 - Chris Haas
我不希望wkhtmltopdf等待我的ajax请求,我需要一个选项来添加我的等待条件,也许是一个可以告诉wkhtmltopdf何时打印的脚本。 - Levi
3个回答

23
你可以使用 --window-status 选项,参见这个邮件列表中的帖子

10

如果您可以更改网页的javascript代码,则在确保所有内容都已加载完成后,请将以下代码添加到您的javascript中:

if (your_condition_is_met_here){
    window.status = 'ready_to_print';
}

然后在使用wkhtmltopdf时传递一个标志--window-status ready_to_print。例如:
wkhtmltopdf --window-status ready_to_print map.html map.pdf

请参考:wkhtmltopdf 如何解决谷歌地图延迟输出的问题

0

您可以尝试使用--javascript-delay选项。


我想确保每个请求都已完成,而且我不想延迟更多的时间。因此,“jvascript-delay”不是一个好的选择。 - Levi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接