DOMPDF如何设置整个页面的字体?

7

我正在使用DOMPDF,它位于http://dompdf.github.com/

我遇到了一个问题,就是如何设置整个页面的字体。在我制作的模板中,我已经在CSS中将字体设置为Helvetica,但是生成PDF时默认使用Times New Roman。 当我尝试使用

<script type="text/php">{literal}if ( isset($pdf) ) { 
    $font = Font_Metrics::get_font("helvetica", "bold");
    $pdf->page_text(72, 18, "TEST!", $font, 6, array(0,0,0));}
{/literal}</script>

它使用字体打印“TEST!”文本。但是,我如何使其应用于整个页面?

谢谢。

4个回答

14

DOMPDF可以与CSS一起使用,因此您需要这样设置字体系列:

body {  
    font-family: 'Helvetica'  
}

但请记住,您只能使用已安装的字体。 要检查可以使用哪些字体,请查看字体目录:/dompdf/lib/fonts/

要安装更多字体,请按照此指南操作: http://code.google.com/p/dompdf/wiki/Installation#Font_Installation


1
记得检查字体文件夹,加1分! - Tomzie

9

DOMPDF支持CSS,因此您可以在CSS文件中定义字体,并像在页面上一样加载它:

body {
    font-family: 'Helvetica'
}

2

我曾遇到同样的问题,DomPDF似乎无法正确处理CSS中的字体定义。我在顶部div框中应用了内联样式来解决这个问题。

<div id="container" style="font-family:sans-serif;">
....
</div>

希望这对仍在阅读此帖子的任何人都有所帮助。

0

你需要在CSS中的每个元素中添加字体定义:

body, #wrapper, #content {
font-family:sans-serif;
}
table{
font-family:sans-serif;
}     
table tr{
font-family:sans-serif;
}    
table td{
font-family:sans-serif;
}        
a:link, a:visited {
font-family:sans-serif;
}
p {
font-family:sans-serif;
}

可能在回答时您需要这样做,但现在不再需要了(而且我也怀疑您根本不必这样做)。 - Alexander Holsgrove

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接