如何在Wkhtmltopdf / wkhtmltoimage上运行自定义Javascript?

时间:2014-04-09 12:48:22

标签: javascript jquery wkhtmltopdf wkhtmltoimage

我想在网站上运行javascript,但是当我这样做时,没有任何变化,我得到的pdf好像我没有运行javascript的结果,这是我做的一个例子:

xvfb-run --server-args="-screen 0, 1024x768x24" wkhtmltoimage --run-script "javascript:(\$(function(){ \$("div").hide()   ;}))" google.com google.png

我还有没有jquery的脚本,如:

xvfb-run --server-args="-screen 0, 1024x768x24" wkhtmltopdf --run-script "javascript:(function(){ document.write("AHHHHHHHHHHHHHHHHHHHHHHHHHHHHH"); ;})" google.com p2.pdf

但正如我所说,对pdf或png没有影响(因为我已尝试过wkhtmltoimage和wkhtmltopdf)。

2 个答案:

答案 0 :(得分:9)

您的命令错误地使用了引号;试试这个:

--run-script "javascript:(\$(function(){ \$('div').hide()   ;}))"

另外,请尝试增加JavaScript延迟:

--javascript-delay 1000

http://wkhtmltopdf.org/usage/wkhtmltopdf.txt

答案 1 :(得分:4)

关于问题

  

"您知道如何生成尺寸较小的.png吗?导致每个png我生成重量9MB"

我使用wkhtmltoimage生成的大型PNG文件遇到了同样的问题,并设法通过添加标志--quality 0来修复此问题,将图像从3.5MB缩小到38KB。请注意,PNG正在进行无损压缩,因此图像质量不会发生变化,只会缩小尺寸。输出为jpg格式时使用--quality标志时要小心,因为如果将图像设置得太低,可能会使图像模糊。