Магазин: создание PDF с использованием шрифтов по умолчанию "Не удается найти файл шрифта TTF TrueType" DejaVuSansMono.ttf "" - PullRequest
0 голосов
/ 21 января 2019

Я использую Mpdf v7 для создания файла PDF.Это моя конфигурация:

$mpdfConfig =
        [
            'margin_left' => 25,
            'margin_right' => 10,
            'margin_top' => 20,
            'margin_bottom' => 20,
            'format' => 'A4-L',
            'mode' => 'win-1252',
        ];

При вызове выходных данных для сохранения моего PDF-файла выдается следующая ошибка:

Не удается найти файл шрифта TTF TrueType «DejaVuSansMono.ttf» в настроенных каталогах шрифтов«.в /var/www/html/vendor/mpdf/mpdf/src/Fonts/FontFileFinder.php в строке 33

Я использую Shopware 5.5.1 и работаю с включенной библиотекой mpdf.Вызов pdf со следующим кодом:

$mpdf = new Mpdf($mpdfConfig);
$mpdf->WriteHTML($data);
$mpdf->Output($filename, "D");

Почему не найден шрифт DejaVuSansMono.ttf?Я не использую этот шрифт.Событие с определением от 'default_font' до 'Courier' Я получаю ту же ошибку.

1 Ответ

0 голосов
/ 22 января 2019

Shopware распространяется с модифицированной версией mPDF с удаленными файлами шрифтов (другое дело, что это нарушение его лицензии).

У вас есть два или три варианта:

InstantiatemPDF с

$mpdf = new \Mpdf\Mpdf([
    'mode' => 'c'
]);

параметром конфигурации, который будет использовать только внутренние PDF-шрифты


или для загрузки или клонирования mPDF ( из GitHub ), переместите ttfonts каталог вашего проекта и добавьте папку в конфигурацию mPDF:

$mpdf = new \Mpdf\Mpdf([
    'fontDir' => __DIR__ . '/ttfonts', // or similar
]);

или вы можете удалить каталог vendor в вашей установке Shopware и воссоздать его, запустив composer install - который должен воссоздатьвся установка mPDF со всеми шрифтами в каталоге vendor, но может вызвать другие проблемы - я не проверял это.

...