Не могу добавить собственный шрифт onmPDF - PullRequest
0 голосов
/ 13 января 2020

Я новый пользователь mPDF, на самом деле я хочу добавить Times New Roman для своего проекта, потому что mPDF не предоставляет его. Итак, я начинаю искать путь, и я нашел эти https://mpdf.github.io/fonts-languages/fonts-in-mpdf-7-x.html. Я пытаюсь реализовать его в своем коде, но все же выходной файл не загружает шрифт. Вот мой код

$defaultConfig = (new Mpdf\Config\ConfigVariables())->getDefaults();
$fontDirs = $defaultConfig['fontDir'];
$defaultFontConfig = (new Mpdf\Config\FontVariables())->getDefaults();
$fontData = $defaultFontConfig['fontdata'];
$mpdf = new \Mpdf\Mpdf([
'fontDir' => array_merge($fontDirs, [
    __DIR__ . '/font',
]),
'fontdata' => $fontData + [
    'times' => [
        'R' => 'times.ttf',
        'I' => 'timesi.ttf',
        'B' => 'timesbd.ttf',
        'BI' => 'timesbi.ttf',]],
'default_font' => 'times']);
$mpdf = new \Mpdf\Mpdf($hal1config);
$stylesheet = '<style>' . file_get_contents('./gaya.css') . '</style>';
$mpdf->WriteHTML($stylesheet, 1);
$mpdf->WriteHTML($hal1, 2);
$mpdf->AddPage($hal2config);
$mpdf->WriteHTML($stylesheet, 1);
$mpdf->WriteHTML($hal2, 2);

Спасибо

1 Ответ

0 голосов
/ 17 января 2020

Вам необходимо:

  1. удалить эту строку $mpdf = new \Mpdf\Mpdf($hal1config);
  2. добавить в конфигурационный массив это 'tempDir' => DIR . '/ custom / temp / dir / path'`,

Посмотрите на мой пример загрузки шрифта

require_once __DIR__ . '/vendor/autoload.php';

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

$mpdf = new \Mpdf\Mpdf(
    [
        'tempDir' => __DIR__ . '/custom/temp/dir/path',
        'fontDir' => array_merge($fontDirs, [
            __DIR__ . '/fonts',
        ]),
        'fontdata' => $fontData + [
                'roboto-condensed' => [
                    'R' => 'RobotoCondensed-Regular.ttf',
                    'B' => 'RobotoCondensed-Bold.ttf',
                ]
            ],
        'default_font' => 'roboto-condensed'
    ]);
$mpdf->WriteHTML('<h1>Стенгазета</h1>');
$mpdf->Output();
...