12

我正在拼命地给 xvfb-run 一些分辨率参数,以使用 wkhtmltox 以不同的分辨率截取网站的屏幕截图。

我在 CentOS 上同时使用 xvfb-run 和 wkhtmltox。

xvfb-run --server-args="-screen 0 1024x768x24" wkhtmltoimage http://www.whatismyscreenresolution.com/ /tmp/bla.png

不幸的是,xvfb-run 不尊重我的论点。它始终具有 800x600 的分辨率。我在这里做错了什么?

谢谢你的帮助!

4

3 回答 3

7

你忘记了这个选项:--use-xserver.

所以整个命令是:

xvfb-run --server-args="-screen 0 1024x768x24" wkhtmltoimage --use-xserver http://www.whatismyscreenresolution.com/ /tmp/bla.png

(我用wkhtmltopdf测试过,但是应该和wkhtmltoimage一样)

于 2015-05-04T12:15:34.370 回答
2

在参数之间添加逗号。在你的情况下"-screen 0, 1024x768x24"。让我知道它是否对您有帮助。问候,HBK

于 2014-06-23T12:37:07.353 回答
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

祝你好运。

于 2020-10-07T16:47:47.273 回答