DOMPDF为整个页面设置字体?

Posted

技术标签:

【中文标题】DOMPDF为整个页面设置字体?【英文标题】:DOMPDF set font for entire page? 【发布时间】:2011-01-11 17:31:12 【问题描述】:

我在 http://dompdf.github.com/ 使用 DOMPDF

我正在努力如何设置整个页面的字体。在我制作的模板中,我在 CSS 中将字体设置为 Helvetica,但是当它生成 PDF 时,它默认为 Times New Roman。 当我尝试

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

它打印测试!字体中的文字。但是如何让它应用到整个页面呢?

谢谢

【问题讨论】:

【参考方案1】:

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

body   
    font-family: 'Helvetica'  

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

要安装更多字体,请遵循以下指南: http://code.google.com/p/dompdf/wiki/Installation#Font_Installation

【讨论】:

加 1 记得检查字体文件夹!【参考方案2】:

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

body 
    font-family: 'Helvetica'

【讨论】:

【参考方案3】:

我遇到了同样的问题。不知何故,DomPDF 在 CSS 中的 font-family 定义有问题。我将内联样式应用于顶部 div 框以解决问题。

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

希望这对仍在阅读此主题的人有用。

【讨论】:

【参考方案4】:

您需要将字体系列定义添加到 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;

【讨论】:

可能您在回答时必须这样做,但现在已经不是这种情况了(我也怀疑您是否必须这样做)。

以上是关于DOMPDF为整个页面设置字体?的主要内容,如果未能解决你的问题,请参考以下文章

CSS 不适用于 DOMPDF

如果元素超过页面高度,dompdf 分页符?

有没有办法在 dompdf 中添加边距或缩放?

为整个 iOS 应用程序设置默认字体?

DOMPDF 的自定义字体

Android:想要为整个应用程序而不是运行时设置自定义字体