mpdf - 使用另一种字体而不编辑包文件

时间:2016-08-24 10:34:50

标签: php fonts mpdf

我想将自己的字体与mpdf一起使用。

mpdf docs建议我将字体文件上传到/ttfonts并修改mpdf包中的文件config_fonts.php

然而,编辑包文件会让我的项目变得脆弱 - 也许我会升级一天...

是否有其他方法可以添加字体?

1 个答案:

答案 0 :(得分:4)

mpdf使用了许多常量。通过定义_MPDF_SYSTEM_TTFONTS_CONFIG_MPDF_TTFONTPATH_MPDF_SYSTEM_TTFONTS,我们可以从mpdf包中分离我们自己的代码。

<强> 1。定义常量

进入程序启动时加载的某个文件(在我的例子中:wp-config.php),我们写这样的东西:

// Use this additional settings file:
define('_MPDF_SYSTEM_TTFONTS_CONFIG', WP_CONTENT_DIR . '/themes/mytheme/mpdf/config_fonts.php');
// Use this additional location for font files:
define('_MPDF_TTFONTPATH', WP_CONTENT_DIR . '/themes/mytheme/mpdf/ttfonts/');
// Don't forget about mpdf's built in fonts:
define('_MPDF_SYSTEM_TTFONTS', __DIR__ . '/vendor/mpdf/mpdf/ttfonts/');

<强> 2。定义字体

在附加设置文件中我们输入了字体定义:

<?php
$this->fontdata['myfont'] = array(
    'R' => 'MyFont.ttf',
    'B' => 'MyFontBold.ttf',
);

第3。上传您的字体文件

文件必须进入常量_MPDF_TTFONTPATH定义的文件夹。