5

使用下面的代码创建的 pdf 尚未完成 javascript 的呈现,因此 javascript 已在一半的表上执行(例如,如果有 100 个表,则有时完成 50 个,其他时候完成 52、54 个等)。

我正在使用该标志--javascript-delay 40000来尝试延迟页面的检索,但结果是相同的。它仍然太快地扣动扳机。我知道这是问题所在,因为当我使用浏览器时,一切正常。

如何正确设置延迟?也许shell_exec这里有错?

$command = shell_exec("xvfb-run -a -s '-screen 0 640x480x16' wkhtmltopdf-i386 --dpi 300 --javascript-delay 40000 --page

编辑:

使用版本:

wkhtmltopdf-0.11.0_rc1
4

1 回答 1

18

搜索了几个小时后发现了问题。wkhtmltopdf停止慢速脚本:

Loading pages (1/6)
Warning: A slow script was stopped                                
Counting pages (2/6)                                               
Resolving links (4/6)                                                       
Loading headers and footers (5/6)                                           
Printing pages (6/6)

所以我需要使用标志--no-stop-slow-scripts

$command = shell_exec("xvfb-run -a -s '-screen 0 640x480x16' wkhtmltopdf-i386 --no-stop-slow-scripts --dpi 300 --page-size A4 $page /tmp
于 2013-04-06T13:12:15.660 回答