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
在我上面附上的图片中,您会看到一个 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