wkhtmltopdf默认设置?

时间:2017-10-11 08:05:38

标签: pdf wkhtmltopdf phpwkhtmltopdf

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

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

CentOS输出:enter image description here(正确居中,但底部有大边距)

macOS输出:enter image description here(右侧部分被裁剪,底部也有很大的余量)

两种环境都使用wkhtmltopdf 0.12.4 (with patched qt),这种差异的想法是什么?

3 个答案:

答案 0 :(得分:4)

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

--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

答案 1 :(得分:3)

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

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

我正在生产的CentOS上运行旧版本的Wkhtmltopdf,并在本地运行MacOS,并没有发现这样的问题。

尝试使用0.12.1之类的旧版本,如果您仍然发现问题,请尝试使用--dpi--disable-smart-shrinking标记。

答案 2 :(得分:1)

这里的解决方案就是:

--disable-smart-shrinking

--page-size Letter