2016-04-14 264 views
1

我们使用wkhtmltopdf.exe(0.10.0 rc2)将一个非常大的HTML页面与大量的JavaScript转换为PDF文件。我们有所有的JavaScript被执行之前被印有PDF问题,执行wkhtmltopdf当我们决定采用下列参数(其中包括):wkhtmltopdf.exe - 不停止慢脚本不工作?

wkhtmltopdf.exe --no-stop-slow-scripts --javascript-delay 40000 <url> <pdf> 

但是,输出仍然给了我们一个警告,一个缓慢的脚本被停止。当我们检查PDF时,应该被javascript隐藏的某些元素仍然可见(所以我认为JavaScript无法及时执行)。当我检查HMTL页面时,一切看起来很正常,控制台中没有显示任何javascript错误。我尝试了上述两个参数的所有可能的组合,没有任何结果。

>wkhtmltopdf.exe --no-stop-slow-scripts --javascript-delay 40000 
--print-media-type --no-outline --title "My title" --footer-center "My footer" 
--footer-font-name "Verdana" --footer-font-size 4 --no-footer-line 
--cookie MyCookie MyCookieKey=MyCookieValue 
"http://..." "C:\Users\...\Documents\TestPDF.pdf" 

Loading pages (1/6) 
Warning: A slow script was stopped  <<< Why does it still show this warning? 
Counting pages (2/6) 
Resolving links (4/6) 
Loading headers and footers (5/6) 
Printing pages (6/6) 
Done 

那么为什么wkhtmltopdf会忽略这些参数呢? 它可能与wkhtmltopdf的版本有关吗?或者这可能是由这些HTML页面中使用jQuery引起的?

任何帮助将不胜感激!

回答

1

此问题的解决方案正在更新为最新版本(0.12.3.2)。有了这个版本,我们甚至不需要--javascript-delay--no-stop-slow-scripts了......