php mPDF,无法设置字体系列和字体大小

2023-12-04

好吧,在花了这么多时间阅读他们的文档和我的测试之后,我决定向 SO 社区寻求帮助。

我使用 mPDF 从 HTML 生成 pdf。图书馆工作正常,pdf 已生成等。

但我无法根据需要设置字体系列和字体大小。

我尝试过的代码:

$mpdf = new mPDF('c', 'A4');
$mpdf->CSSselectMedia='mpdf';
$mpdf->setAutoTopMargin = 'stretch';
$mpdf->setAutoBottomMargin = 'stretch';
$mpdf->setBasePath($url);
$mpdf->SetHeader($url);
$mpdf->WriteHTML($html);
$mpdf->SetFooter($url);
$mpdf->Output($filename.'.pdf', 'I');

在我的 mpdf 媒体样式表中,我有一堆处理所有 html 代码的样式。我对字体系列和字体大小也有一些规则,即:

body{
        border: none;
        font-size: 10pt;
        colosr:#000;
        font-family: Times, Georgia, "Times New Roman", serif !important;
    }

但根本不应用字体设置。

我还在实例化时尝试了以下参数:

$mpdf = new mPDF('UTF-8', 'A4',9, 'dejavuserif');

但还是什么都没有。我的pdf文件中仍然有无衬线字体,而且尺寸也很大。

有人可以解释一下吗?


您可以通过两种方式将字体添加到生成的 pdf 中:

1.设置字体为mpdf

将字体保存在 mpdf lib 的 ttfonts 文件夹中。然后,在 config_fonts.php 文件中将字体添加到数组中:

$this->fontdata = 数组( “你的新字体”=>数组( 'R' => "YourNewFont.ttf"));

然后使用以下命令将字体设置为 mpdf 对象:

$mpdf->SetFont('YourNewFont');

现在,你的堡垒已经设置好了。使用 $mpdf->WriteText('我的文本');将使用设置的字体将文本添加到 pdf。

2. 在Html中使用字体

使用以下命令将字体系列添加到 css 文件中@font-face {}

然后,导入该 css 文件,如下所示:

$stylesheet = file_get_contents('MyStyleWithFont.css');

$mpdf->WriteHTML($stylesheet,1);

现在,您可以在 html 中使用您的字体。为 css 文件或内联 html 中的文本定义 font-family。使用$mpdf->WriteHTML(我的文本);打印 html。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

php mPDF,无法设置字体系列和字体大小 的相关文章