我想使用wkhtmltopdf渲染我控制的两个页面(在这种情况下,我可以在完成渲染时设置window.status
)和(偶尔)我无法控制的页面。根据{{3}},我应该能够将--window-status
设置为某个值,并--javascript-delay
,并且只要满足其中任何一个条件,就会开始渲染。那不是我的经历;命令wkhtmltopdf --javascript-delay 10000 --window-status imdone http://www.google.com/ /tmp/google.pdf
永远等待(版本0.12.3,在OSX和linux上)。我如何获得邮件列表中描述的行为?
答案 0 :(得分: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-script
参数中放置空格,它就无法工作,因此以下内容无法正常工作
wkhtmltopdf --window-status imdone --run-script \
'window.setTimeout(function (){window.status = "imdone";}, 1000);' \
http://google.com/ /tmp/google.pdf