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

mpdf - use another font without editing the package files

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

mpdf docs建议我将字体文件上传到/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 定义的文件夹中。