我正在使用laravel-snappy 作为wkhtmltopdf的包装器,用于从HTML创建PDF。
在使用相同配置运行相同代码时,我得到不同的输出:
两种环境都使用wkhtmltopdf 0.12.4 (with patched qt)
,这种差异的想法是什么?
答案 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