Ubuntu 上 PhantomJS/wkhtmltopdf 的字体字母间距问题

Ubuntu 上 PhantomJS/wkhtmltopdf 的字体字母间距问题

我在 Ubuntu 12.04 LTS 上使用 PhantomJS/wkhtmltopdf 将 HTML 转换为 PDF,并出现非常奇怪的字母间距错误。例如,之间的内部距离英语xa看起来非常随机且不正确。

当我在 OS X 上运行完全相同的代码时,我没有遇到这些问题,这让我认为该问题与 Linux 有关。另外,当我渲染为 PNG 时,它看起来不错。

我正在使用 Microsoft Core 字体并且所有字体都有相同的字偶距问题。例如xa总是一个问题,所以我认为这也不是字体问题。

我尝试根据这些链接的建议修改 ~/.fonts.conf 但没有什么区别。

我对如何解决这个问题的想法很困惑。

在此输入图像描述

答案1

我的解决方案是迁移到 wkhtmltopdf。

事实证明我的问题是在这种情况下发生的:

  • 始终与 PhantomJS 在一起
  • 当 ~/.fonts.conf 存在并且无效时,使用 wkhtmltopdf

PhantomJS 和 wkhtmltopdf 之间的区别在于后者使用 X 服务器来进行渲染,这可能是我遇到的不同行为的原因。

使用 wkhtmltopdf 现在可以正常工作,而 PhantomJS 仍然提供有趣的字体渲染。在我看来,当只需要 html 到 pdf 转换时,wkhtmltopdf 似乎是一个更成熟的选择,所以我可能会坚持使用它。

这看起来更好(不同的字体,但字体本身从来不是问题)

相关内容