Drupal wkhtmltopdf 字体错误

Drupal wkhtmltopdf font error

我在 Drupal 中使用 wkhtmltopdf 库。我遇到的问题是字体在 PDF 视图中的显示方式。每次我将 HTML 页面转换为 PDF。 PDF文本(p标签)以wingdings字体显示。

在我上面附上的图片中,您会看到一个 PDF 视图,其中显示了 wingdings 中的 p 标签,以及 droid serif 中显示的 h1 和 h2 文本。

玩过 CSS 后,我奇怪地发现,如果我将字体粗细更改为 600 并超过 PDF 视图中的字体显示。这就是显示 h1 + h2 文本的原因。

我的 CSS 很基础

body, p, p a {
  font-family: "Droid Serif", "Georgia", serif;
  font-style: normal;
  font-weight: 400;
  }

我知道正在使用的字体在 PDF 视图中无法识别。所以我研究了为什么字体样式显示在转换后的 PDF 中。我决定遵循此 [修复][1 种字体在 wkhtmltopdf 中不起作用]。

在此解决方案中,它提到使用 Base64 编码字体,然后将其与 CSS 一起使用。我尝试了多种将字体类型编码为 Base64 并将它们添加到样式 sheet 中的方法。我在这方面的所有尝试似乎都失败了。

所以我放弃了,我决定研究使用 Google 字体。我转到 Google 字体页面。通过阅读它的工作原理,我制定了以下 css 规则;

@import url(//fonts.googleapis.com/css?family=Droid+Serif|Georgia:400);
  body, p, p a {
  font-family: "Droid Serif", "Georgia", serif;
  }

CSS 规则片段为我提供了我想要的结果。字体似乎没有受到损害,看起来与原始网页完全一样。这正是我要找的:>)

当我们只在我们的一台 Centos 服务器上安装它时,这是由于缺少字体。奇怪的是加粗的文字,大号的文字就好了,就是普通的文字,有翅膀!!

yum install dejavu-sans-fonts

真正解决我们所有字体问题的是:-

yum install ghostscript