我正在拼命地给xvfb运行一些分辨率参数来截取不同分辨率的wkhtmltox网站的截图。
我在CentOS上同时使用xvfb-run和wkhtmltox。
xvfb-run --server-args="-screen 0 1024x768x24" wkhtmltoimage http://www.whatismyscreenresolution.com/ /tmp/bla.png
不幸的是xvfb-run不尊重我的论点。它的分辨率始终为800x600。我在这里做错了什么?
感谢您的帮助!
答案 0 :(得分:5)
您忘记了此选项:--use-xserver
。
所以整个命令是:
xvfb-run --server-args="-screen 0 1024x768x24" wkhtmltoimage --use-xserver http://www.whatismyscreenresolution.com/ /tmp/bla.png
(我用wkhtmltopdf测试过,但它与wkhtmltoimage一样)
答案 1 :(得分:2)
在参数之间添加逗号。在您的情况下"-screen 0, 1024x768x24"
。
如果它对你有所帮助,请告诉我。
问候,
HBK
答案 2 :(得分:0)
您是否在运行带有补丁QT的wkhtmltoimage?如果您的QT版本未打补丁,则许多功能将被忽略,包括从xvfb-run发送的所有命令。
您可以像这样检查您的版本:
/usr/bin/wkhtmltoimage --version
将路径更改为存储wkhtmltoimage
文件的位置。如果返回的版本不包含“补丁QT”,则可能是您应该从那里开始的地方。您可以从此处下载修补的QT版本:
https://wkhtmltopdf.org/downloads.html
安装补丁的QT版本并不复杂,尝试以下方法(我正在运行Ubuntu 20,其他发行版需要调整):
cd ~
wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.focal_amd64.deb
sudo dpkg -i wkhtmltox_0.12.6-1.focal_amd64.deb
sudo apt-get install -f
/usr/local/bin/wkhtmltoimage --version
祝你好运。