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

8

我想在一个网站上运行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个回答

10

您的命令错误地使用了引号; 请尝试以下方法:

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

此外,尝试增加JavaScript延迟时间:
--javascript-delay 1000

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


非常感谢,那解决了问题。顺便问一下,你知道有什么生成大小更小的 .png 的方法吗?因为我生成的每个 png 都有 9MB,再次感谢。 - aDoN

5
关于这个问题
“你知道如何生成大小更小的.png文件吗?因为我生成的每个png文件都有9MB。”
我曾经遇到过使用wkhtmltoimage生成大型PNG文件的同样问题,并成功地通过添加标志--quality 0来解决这个问题,将图像从3.5MB缩小到了38KB。请注意,PNG进行无损压缩,因此图像质量不会改变,只会缩小大小。当您输出为jpg格式时,请小心使用--quality标志,因为如果设置得太低,可能会使图像模糊。

1
可以确认,从10MB降到了70KB。 - George Kagan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接