在wkhtmltopdf中组合--window-status和--javascript_delay

Cla*_*ude 5 wkhtmltopdf

我想使用wkhtmltopdf渲染我控制的两个页面(在这种情况下我可以设置window.status完成渲染的时间)和(偶尔)我无法控制的页面.根据邮件列表上的这个帖子,我应该能够设置--window-status一些值,并且--javascript-delay只要满足这些条件中的任何一个就开始渲染.那不是我的经历; 该命令wkhtmltopdf --javascript-delay 10000 --window-status imdone http://www.google.com/ /tmp/google.pdf永远等待(版本0.12.3,在OSX和Linux上).如何获得邮件列表中描述的行为?

Cla*_*ude 8

一种解决方法是使用--run-script标记window.status手动设置一段时间后 - 这适用于使用修补的版本和使用未修补的QT的版本.但请注意,--run-script在转义参数时似乎有一个小错误.因此,以下行将为您提供所请求的行为:

wkhtmltopdf --window-status imdone --run-script \
'window.setTimeout(function(){window.status="imdone";},1000);' \
http://google.com/ /tmp/google.pdf
Run Code Online (Sandbox Code Playgroud)

请注意,由于上述错误,如果在--run-script参数中放置空格,则无效,因此以下操作无效

wkhtmltopdf --window-status imdone --run-script \
'window.setTimeout(function (){window.status = "imdone";}, 1000);' \
http://google.com/ /tmp/google.pdf
Run Code Online (Sandbox Code Playgroud)