【问题标题】:wkhtmltopdf Default Settings?wkhtmltopdf 默认设置?
【发布时间】:2017-10-11 08:05:38
【问题描述】:

我正在使用laravel-snappy 作为wkhtmltopdf 的包装器,用于从 HTML 创建 PDF。

在使用相同配置运行相同代码时,我得到不同的输出:

CentOS 输出:(正确居中但底部留有较大边距)

macOS 输出:(右侧部分被裁剪,底部也有很大的空白)

两个环境都使用wkhtmltopdf 0.12.4 (with patched qt),有什么想法可以解决这个区别吗?

【问题讨论】:

  • 您是否检查过两者的页面大小是否相同?是精确单位还是 Letter v A4 之类的单位?

标签: pdf wkhtmltopdf phpwkhtmltopdf


【解决方案1】:

您可以尝试以下几种方法:

--disable-smart-shrinking

--dpi 96 试验这个数字以获得一致的结果(可能在 130 左右)

--zoom 1.33

设置跨平台通用的字体系列(请参阅http://www.apaddedcell.com/sites/www.apaddedcell.com/files/fonts-article/final/index.html)。设置为font-family: xxx, xxx, xxx, sans-serif

前面提到的另一件事是设置页面尺寸以 px 为单位而不是 mm --page-width 1588px --page-height 1210px

【讨论】:

  • 仍然无法正常工作,即使有这些标志。有些事情是不对的。这是原始 URL:tfasim.gdn/test-pdf/0XVCU?html=true 这是 OSX 的输出:tfasim.gdn/good.pdf(不完美,但看起来不错) 这是 Ubuntu 的输出:tfasim.gdn/bad.pdf(看起来很糟糕!)我正在尝试构建一个 HTML通过 wkhtmltopdf 生成有效且美观的 PDF 输出的模板。
【解决方案2】:

Wkhtmltopdf 依赖 Qt Webkit 来进行 PDF 的无头渲染。 Qt Webkit 是跨平台的,但在 CentOS 和 MacOS 之间使用不同的 API。

有一个Github 问题虽然已关闭,但仍有人在使用 X11 版本的 Qt Webkit 时报告 12.4 版本中的类似问题。最后一条评论来自有人报告说@kerrin 之类的解决方案对他们不起作用,所以也许你遇到了同样的问题。

我在生产环境中的 CentOS 和本地 MacOS 上运行旧版本的 Wkhtmltopdf,但没有注意到这样的问题。

尝试使用0.12.1 等旧版本,如果您仍然注意到问题,请尝试使用--dpi--disable-smart-shrinking 标志。

【讨论】:

    【解决方案3】:

    我的解决方案是:

    --disable-smart-shrinking
    

    --page-size Letter
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-25
      • 1970-01-01
      • 2014-06-19
      • 2014-12-03
      • 2015-05-14
      • 2010-09-23
      相关资源
      最近更新 更多