【问题标题】:DOMPDF set font for entire page?DOMPDF为整个页面设置字体?
【发布时间】:2023-03-27 14:21:01
【问题描述】:

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

我正在努力如何设置整个页面的字体。在我制作的模板中,我在 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>

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

谢谢

【问题讨论】:

    标签: pdf pdf-generation dompdf


    【解决方案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;
        }
        

        【讨论】:

        • 可能您在回答时必须这样做,但现在已经不是这种情况了(我也怀疑您是否必须这样做)。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-01-22
        • 1970-01-01
        • 2017-01-31
        • 2014-08-16
        • 1970-01-01
        • 2014-02-09
        • 1970-01-01
        相关资源
        最近更新 更多