PDF文档内部支持以下字体:Helvetica、Times-Roman、Courier、Zapf-Dingbats和Symbol(均使用Windows ANSI编码)。只要通过预加载或在CSS的@font-face
规则中引用且dompdf可以访问,dompdf将在PDF中嵌入任何引用的字体。加载过程是必需的,以便生成用于排版的字体度量。
dompdf支持与底层R&OS PDF类相同的字体:Type 1(.pfb)和TrueType(.ttf),只要字体度量(.afm/.ufm)可用即可。基于PHP的php-font-lib提供了加载和子集化字体的支持。
根据您的需求和服务器访问权限,加载字体的过程会有所不同。您可以有三种方法来加载字体:
- 使用CSS @font-face规则在运行时加载字体。
- 使用命令行dompdf/load_font.php。
- 浏览包含在内的管理站点dompdf/www/fonts.php。
使用CSS @font-face规则在运行时加载字体
无需使用命令行访问。只要您想要加载的字体在线上可用,您可以通过CSS轻松加载它。
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: normal;
src: url(http://themes.googleusercontent.com/static/fonts/opensans/v8/cJZKeOuBrn4kERxqtaUH3aCWcynf_cDxXwCLxiixG1c.ttf) format('truetype');
}
从命令行使用dompdf/load_font.php加载字体
如果您可以访问命令行,则加载字体非常简单:
[php] load_font.php "NeutraText-Book" /path/to/neutratext.ttf
运行命令时不要带任何参数以查看帮助文本。这些参数分别是:字体名称、普通字体文件、粗体字体文件、斜体字体文件、粗斜体字体文件。
浏览至dompdf/www/fonts.php,该网站已包含在内
很容易理解 (示例)。你需要做的唯一一件事就是确保你已经修改了管理员用户名/密码组合。
注意:load_font.php和管理站点将不会默认包含在dompdf 0.7.0中
改编自dompdf维基 (Unicode教程,关于字体和字符编码) 和其他来源。