html - Drupal wkhtmltopdf 字体错误

标签 html css fonts drupal-7 wkhtmltopdf

image showing the error我在 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/

相关文章:

javascript - tinymce 默认应用(书写)样式

javascript - CSS标签:before with content styling not working unless id provided for elements

html - 如何让主容器背景颜色环绕每个元素?

android - 特定字体的文本从前面被截断

javascript - 将用户名存储在从登录到服务器的数组中

javascript - 滚动时如何将菜单栏从页面中间留在顶部?

html - 页脚的正确对齐

java - 将字体添加到 Swing 应用程序并包含在包中

iphone - iPhone 中非系统字体的名称

php - 文本区域中的换行符