我在 Drupal 中使用 wkhtmltopdf 库。我遇到的问题是字体在 PDF View 中的显示方式。每次我将 HTML 页面转换为 PDF 时。 PDF 文本(p 标签)以 wingdings 字体显示。
在我上面附上的图片中,您将看到一个 PDF View ,其中 p 标签显示在 wingdings 中,h1 和 h2 文本显示在 droid serif 中。
在尝试使用 CSS 后,我奇怪地发现,如果我将字体粗细更改为 600 并超过 PDF View 中的字体显示。这就是显示 h1 + h2 文本的原因。
我的 CSS 很基础
body, p, p a {
font-family: "Droid Serif", "Georgia", serif;
font-style: normal;
font-weight: 400;
}
最佳答案
我知道正在使用的字体在 PDF View 中未被识别。所以我研究了为什么字体样式显示在转换后的 PDF 中。我决定遵循此 [修复][1 种字体在 wkhtmltopdf 中不起作用]。
在此解决方案中,它提到使用 Base64 编码字体,然后将其与 CSS 一起使用。我尝试了多种方法将字体类型编码为 Base64 并将它们添加到样式表中。我在这方面的所有尝试似乎都失败了。
所以我放弃了,我决定研究使用 Google 字体。我去了谷歌字体页面。通过阅读它的工作原理,我制定了以下 css 规则;
@import url(//fonts.googleapis.com/css?family=Droid+Serif|Georgia:400);
body, p, p a {
font-family: "Droid Serif", "Georgia", serif;
}
CSS 规则片段为我提供了我想要的结果。字体似乎没有受到损害,看起来与原始网页完全一样。这正是我要找的:>)
关于html - Drupal wkhtmltopdf 字体错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34202631/