生成 PDF 时,它完全忽略了应用于我的 CSS 的 font-family
属性。它没有说 Verdana ,而是使用 Times New Roman。 所以我的CSS看起来像:
.sub-header {
font-size: 1.4rem;
text-transform: uppercase;
font-family: NeutraText-Book !important;
padding-bottom: 1.5rem;
}
PDF 生成如下:
$pdf = PDF::loadHTML($view);
return $pdf->stream();
如何设置我想要的字体?
原文由 John 发布,翻译遵循 CC BY-SA 4.0 许可协议
PDF 文档内部支持以下字体:Helvetica、Times-Roman、Courier、Zapf-Dingbats 和 Symbol(均使用 Windows ANSI 编码)。 dompdf 将在 PDF 中嵌入任何引用的字体,只要它已预先加载或可由 dompdf 访问并在 CSS
@font-face
规则中引用。为了生成用于类型设置的字体度量,加载过程是必要的。dompdf 支持与底层 R&OS PDF 类相同的字体:Type 1 (.pfb) 和 TrueType (.ttf),只要字体规格 (.afm/.ufm) 可用。捆绑的、基于 PHP 的 php-font-lib 支持加载和子设置字体。
加载字体的过程因您的需要和服务器访问而异。您可以通过三种方式加载字体:
使用 CSS @font-face 规则在运行时加载字体
无需命令行访问。只要您要加载的字体在线可用,您就可以通过 CSS 轻松加载它。
从命令行使用 dompdf/load_font.php
如果您可以访问命令行,则加载字体非常简单:
运行不带任何参数的命令以查看帮助文本。不过很快,参数是:字体名称、普通字体文件、粗体字体文件、斜体字体文件、粗斜体字体文件
在包含的管理站点中浏览到 dompdf/www/fonts.php
不言自明( 示例)。您唯一需要做的就是确保您已修改管理员用户名/密码组合
_注意:从 dompdf 0.7.0 开始,默认不包含 loadfont.php 和管理站点
改编自 dompdf wiki( Unicode How-To 、 About Fonts and Character Encoding )和其他来源。