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


mpdf - use another font without editing the package files

我想在mpdf上使用我自己的字体。

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

然而,编辑包文件使我的项目脆弱 -也许有一天我会升级…

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

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定义的文件夹