首页 文章

MPDF 7.0无法注册自定义字体

提问于
浏览
0

我正在使用MPDF为某些东西生成PDF . 我必须使用Tahoma字体 . MPDF通过composer安装,版本为7 .

我使用以下代码:

$defaultConfig = (new Mpdf\Config\ConfigVariables())->getDefaults();
$fontDirs = $defaultConfig['fontDir'];

$defaultFontConfig = (new Mpdf\Config\FontVariables())->getDefaults();
$fontData = $defaultFontConfig['fontdata'];

$mpdf = new \Mpdf\Mpdf([
    'mode' => 'en',
    'default_font_size' => 10,
    'margin_left' => 9.5,
    'margin_right' => 0,
    'margin_top' => 42.5,
    'margin_bottom' => 0,
    'margin_header' => 7.1,
    'margin_footer' => 2,
    'fontDir' => array_merge($fontDirs, [__DIR__ . '/customFontsMPDF']),
    'fontData' => $fontData + [
       'tahoma' => [
           'R' => 'tahoma.ttf',
           'B' => 'tahomabd.ttf'
       ]
    ]
]);

我输入这个以添加CSS:

$mpdf->WriteHTML('<style>' . file_get_contents('css.css') . '</style>');

css包含以下规则:

body {
    font-family: tahoma;
    font-size: 8pt;
}

不知何故,字体不起作用,它将是默认的DejaVuSansCondensed字体(我知道,因为我在Acrobat Reader中看到它)

我在当前的工作目录( DIR )中有一个名为customFontsMPDF的文件夹,它包含tahoma.ttf和tahomabd.ttf文件 . 我做错了什么,为什么它不起作用,我怎么能让它运作起来?

1 回答

  • 3

    正确的配置键是 fontdata 而不是 fontData - 请注意小写"d" .

相关问题