How to run custom Javascript on Wkhtmltopdf/wkhtmltoimage?

十年热恋 提交于 2019-12-21 04:49:12

问题


I want to run a javascript on a website, but when I do it, nothing changes, I get the pdf as if I run no result of the javascript on it, this is an example of what I do:

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

I have also scripts without jquery like:

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

But as I said, no effect on the pdf or the png (because I have tried both wkhtmltoimage and wkhtmltopdf).


回答1:


Your command uses quotes incorrectly; try this:

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

Also, try increasing the JavaScript delay:

--javascript-delay 1000

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




回答2:


About the question

"do you know any way of generate a .png with less size? cause every png I generate weights 9MB"

I had the same problem with large PNG files generated with wkhtmltoimage and managed to fix this with adding the flag --quality 0, that shrunk the image from 3.5MB to just 38KB. Note that PNG is doing lossless compression so the image quality won't change only will be shrunk in size. Be careful when using --quality flag when you output to jpg format as this can blur the image is you set it too low.



来源:https://stackoverflow.com/questions/22963047/how-to-run-custom-javascript-on-wkhtmltopdf-wkhtmltoimage

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!