我在让自定义字体在DOMPDF中工作时遇到问题。我使用Drupal 7作为我的后端,但我不认为这与我遇到的问题特别相关。当我直接返回HTML时,我的自定义字体可以工作:
<?php
$HTML = <<<HTML
<!DOCTYPE html>
<html>
<head>
<style>
@font-face {
font-family: 'PressStart2PRegular';
src: url('http://fontlibrary.org/assets/fonts/press-start-2p/6b0a4bbcec8eb53940cbfcb409a788ee/74496d9086d97aaeeafb3085e9957668/PressStart2PRegular.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
</style>
</head>
<body>
<p><span class="fa fa-envelope"></span> envelope</p>
<span style="font-family: 'PressStart2PRegular'">THwabubu Thwabubu thwabubu</span>
<p style="font-family: PressStart2PRegular;">dsafda</p>
</body>
</html>
HTML;
echo $HTML;
?>
但是,当我使用DOMPDF库返回相同的内容时,我的自定义字体不适用:
<?php
$HTML = <<<HTML
<!DOCTYPE html>
<html>
<head>
<style>
@font-face {
font-family: 'PressStart2PRegular';
src: url('http://fontlibrary.org/assets/fonts/press-start-2p/6b0a4bbcec8eb53940cbfcb409a788ee/74496d9086d97aaeeafb3085e9957668/PressStart2PRegular.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
</style>
</head>
<body>
<p><span class="fa fa-envelope"></span> envelope</p>
<span style="font-family: 'PressStart2PRegular'">THwabubu Thwabubu thwabubu</span>
<p style="font-family: PressStart2PRegular;">dsafda</p>
</body>
</html>
HTML;
//DomPDF Stuffs
require_once "sites/all/libraries/dompdf/autoload.inc.php";
use Dompdf\Dompdf;
$dompdf = new Dompdf();
$dompdf->load_html($HTML);
$dompdf->setPaper('A4', 'portrait');
$dompdf->render();
$dompdf->stream();
?>
根据我在DOMPDF文档中读到的内容,以及这个答案:Dompdf and set different font-family我觉得我在DOMPDF中使用自定义字体的可接受参数进行操作,但很明显,有些事情是错误的。我正在使用DOMPDF版本0.8.0。我知道这与其他问题非常相似......但我无法弄清楚为什么这个实例无效。
答案 0 :(得分:2)
这最终成为权限问题。一旦我更改了DomPDF库文件夹的权限以使其可写,我的字体就按预期开始工作了。