MPDF 7.0 не может зарегистрировать пользовательские шрифты - PullRequest
0 голосов
/ 17 мая 2018

Я использую MPDF для создания PDF-файла.Я должен использовать шрифт Tahoma на нем.MPDF устанавливается через композитор и находится на версии 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)

У меня есть папка customFontsMPDF в моем текущем рабочем каталоге ( DIR ), и она содержит файлы tahoma.ttf и tahomabd.ttf.Что я делаю не так и почему это не работает, и как я могу заставить его работать?

1 Ответ

0 голосов
/ 18 мая 2018

Правильный конфигурационный ключ: fontdata, а не fontData - обратите внимание на строчную букву "d".

...