2017-10-11 211 views
3

我使用laravel-snappy 作为用于从HTML创建PDF的wkhtmltopdf的包装。wkhtmltopdf默认设置?

当运行具有相同配置的相同的代码,我得到不同的输出:

CentOS的输出:enter image description here(在底部正确,但与幅度较大居中)

MACOS输出:enter image description here(右侧部分并且在底部还有很大的空间)

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

+0

您是否检查过两者的页面大小是否相同?无论是在确切的单位或类似字母A4的东西? – Phil

回答

2

有一对夫妇的事情,你可以尝试:

--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代替毫米 --page-width 1588px --page-height 1210px

+0

即使使用这些标志,仍然无法正常工作。有些事情是不正确的。 这是最初的URL:http://tfasim.gdn/test-pdf/0XVCU?html=true 这是OSX的输出:http://tfasim.gdn/good.pdf(不完美,但看起来好) 这是Ubuntu的输出:http://tfasim.gdn/bad.pdf(看起来很糟糕!) 我想构建一个HTML模板,这将导致一个有效和好看的PDF输出通过wkhtmltopdf。 – Broshi

2

Wkhtmltopdf的依赖于Qt的Webkit的做一个PDF的无头呈现的另一件事。 Qt Webkit是跨平台的,但在CentOS和MacOS之间使用不同的API。

有一个Github问题,虽然关闭,但仍然有人在使用X11版本的Qt Webkit时在12.4版本中报告类似的问题。最后一条评论来自那些报道像@ kerrin's这样的解决方案不适合他们的人,所以也许你遇到了同样的问题。

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

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