Обучаем domPDF кириллице

  • Vadim Tsukanov
    Разработчик
  • Дата публикации
    07.09.2021
  • Категория
    php
dompdf на русском
Задача:Обучить кириллице библиотеку DomPDF

Шикарная библиотека — DomPdf. Позволяет генерировать PDF из html, однако она не умеет работать с кириллицей из коробки.

Целиком и полностью проблема в шрифтах. Так как предустановленные шрифты просто не имеют символов кириллицы.

Есть несколько вариантов, как обучить библиотеку кириллице:

  1. Взять шрифт и сгенерировать все форматы, потом прописать все необходимое в библиотеке и использовать свой собственный шрифт. Такой подход является правильным и «взрослым». Но мы пойдем другим путем.
  2. Скинуть шрифты, с поддержкой кириллицы

Мы пойдем вторым путем, т.к. первый понятен и кто в состоянии прочитать stackoverflow — тот сам разберется. Сейчас наша цель просто и быстро подключить обычный Times New Roman с кириллицей.

  1. Скачиваем шрифты с поддержкой русского
  2. Заменяем шрифты в папке DomPdf. У меня это — /vendor/dompdf/dompdf/lib/fonts
  3. Удаляем dompdf_font_family_cache.dist.php — он сгенерируется сам, при первом обращении к либе

И вызываем со следующими настройками:

$options = new Options();
$options->set('defaultFont', 'times');
$dompdf = new Dompdf($options);

Данный метод сработал у меня, кроме 1 шрифта мне и не нужно ничего.

2 Комментариев
  • muzanaka
    2021-11-17 14:41:55

    По всей видимости проблема с окружением. Не установлены либы php. Необходимо просмотреть необходимые для domPdf и глянуть, чего нет на вирт хостинге

  • Вячеслав
    2021-11-17 10:30:08

    На локальном сервере заработало, а вот на хостинге нет, вместо знаков вопроса стали отображаться квадраты с непонятным набором цифр

Оформить заказ в Devstages