【问题标题】:How to add custom fonts to kartik yii-mpdf in yii2如何在yii2中向kartik yii-mpdf添加自定义字体
【发布时间】:2017-07-17 11:29:33
【问题描述】:

我知道如何让它在本地环境中工作,我将字体.ttf添加到/vendor/mpdf/mpdf/ttfonts,然后添加

$this->fontdata = array(
"calibri" => array(
'R' => 'calibri.ttf',
'B' => 'calibrib.ttf',
)
...

/vendor/mpdf/config-fonts.php

所以现在我可以在我的 pdf 中使用 Calibri 字体,但我应该如何正确使用它,不仅在本地,而且在 composer update 之后?

【问题讨论】:

    标签: php yii2 mpdf kartik-v


    【解决方案1】:

    我找到的解决方案:

    1) 将.ttf 字体放入/your/path/to/fonts/dir,添加custom_config.php 与此内容:

    $this->fontdata["calibri"] = [
        'R' => 'calibri.ttf',
        'B' => 'calibrib.ttf',
    ];
    

    2) 在 common/configs 中使用自定义字体设置路径并使用自定义配置文件

    'mpdfCustomFontsPath' => /your/path/to/custom_config.php,
    'mpdfCustomFonts' => /your/path/to/fonts/dir,
    

    3) 在创建 kartik/Pdf 实例之前,在您的代码中执行以下操作:

    $customFontsConfig = Yii::$app->params['mpdfCustomFontsPath'];
    $customFonts = Yii::$app->params['mpdfCustomFonts'];
    define("_MPDF_SYSTEM_TTFONTS_CONFIG", $customFontsConfig);
    define("_MPDF_SYSTEM_TTFONTS", $customFonts);
    

    这会起作用,因为 mpdf 在处理 html 到 pdf 时会检查 _MPDF_SYSTEM_TTFONTS_CONFIG_MPDF_SYSTEM_TTFONTS

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多