【问题标题】:Setting a resolution for xvfb-run and wkhtmltopdf / wkhtmltoimage为 xvfb-run 和 wkhtmltopdf / wkhtmltoimage 设置分辨率
【发布时间】:2014-04-07 13:23:10
【问题描述】:

我正在拼命尝试给 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 的分辨率。我在这里做错了什么?

感谢您的帮助!

【问题讨论】:

    标签: centos wkhtmltopdf xvfb wkhtmltoimage


    【解决方案1】:

    您忘记了这个选项:--use-xserver

    所以整个命令是:

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

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

    【讨论】:

    • @kip:如果你写了它到底如何不适合你,那将会很有帮助。从赞成票(以及缺乏其他 cmets)来看,这个解决方案应该可以工作,而且当时它肯定对我有用。
    • 对于未来的谷歌用户,我尝试了这个并得到了Xvfb failed to start,我发现我需要在服务器参数中包含:1--server-args=":1 -screen 0 1024x768x24"
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      您是否正在运行带有修补 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
      

      祝你好运。

      【讨论】:

        猜你喜欢
        • 2017-09-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-12-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多