-
Vadim TsukanovРазработчик
-
Дата публикации07.09.2021
-
Категорияphp

Задача:Обучить кириллице библиотеку DomPDF
Шикарная библиотека — DomPdf. Позволяет генерировать PDF из html, однако она не умеет работать с кириллицей из коробки.
Целиком и полностью проблема в шрифтах. Так как предустановленные шрифты просто не имеют символов кириллицы.
Есть несколько вариантов, как обучить библиотеку кириллице:
- Взять шрифт и сгенерировать все форматы, потом прописать все необходимое в библиотеке и использовать свой собственный шрифт. Такой подход является правильным и «взрослым». Но мы пойдем другим путем.
- Скинуть шрифты, с поддержкой кириллицы
Мы пойдем вторым путем, т.к. первый понятен и кто в состоянии прочитать stackoverflow — тот сам разберется. Сейчас наша цель просто и быстро подключить обычный Times New Roman с кириллицей.
- Скачиваем шрифты с поддержкой русского
- Заменяем шрифты в папке DomPdf. У меня это — /vendor/dompdf/dompdf/lib/fonts
- Удаляем dompdf_font_family_cache.dist.php — он сгенерируется сам, при первом обращении к либе
И вызываем со следующими настройками:
$options = new Options();
$options->set('defaultFont', 'times');
$dompdf = new Dompdf($options);
Данный метод сработал у меня, кроме 1 шрифта мне и не нужно ничего.
По всей видимости проблема с окружением. Не установлены либы php. Необходимо просмотреть необходимые для domPdf и глянуть, чего нет на вирт хостинге
На локальном сервере заработало, а вот на хостинге нет, вместо знаков вопроса стали отображаться квадраты с непонятным набором цифр