我正在使用Dompdf从Wordpress网站上通过电子邮件生成和发送PDF。我正在尝试使用自定义字体,而normal
的字体粗细工作正常,但是bold
却无法正常工作。
这是我的HTML变量的样子:
$html =
'<html>
<body>
<style>
@font-face {
font-family: "Proxima Nova";
font-weight: normal;
font-style: normal;
src: url(' . get_template_directory() . '/fonts/ProximaNova-Reg.woff2) format("woff2"), url(' . get_template_directory() . '/fonts/ProximaNova-Reg.woff) format("woff");
}
@font-face {
font-family: "Proxima Nova";
font-weight: bold;
font-style: normal;
src: url(' . get_template_directory() . '/fonts/ProximaNova-Bold.woff2) format("woff2"), url(' . get_template_directory() . '/fonts/ProximaNova-Bold.woff) format("woff");
}
body,html {font-family:"Proxima Nova";}
</style>
<table>
<thead>
<tr>
<th>Test</th>
<th>Test</th>
<th>Test</th>
</tr>
</thead>
<tbody>
<tr>
<td>Test</td>
<td>Test</td>
<td>Test</td>
</tr>
</tbody>
</table>
</body>
</html>';
当我打开生成的PDF时,将以Proxima Nova字体正确显示td
,而没有显示th
。奇怪的是,如果我只是使用wp_mail
通过电子邮件将HTML发送给自己,则粗体字体可以正常工作。仅在PDF中不起作用。有什么想法吗?
我没有在本地安装字体
答案 0 :(得分:1)
我解决了这个问题,有一次我使用的是TrueType
字体粗细的normal
版本,而不是bold
。显然php-font-lib
只能从ttf
文件生成兼容字体,而不能从woff
生成兼容字体。当我将两个声明都切换到ttf
时,它生成了必要的文件,并且现在两个权重都在起作用。