Как шаг за шагом заставить DOMPDF поддерживать шрифт Unicode?

Я использовал библиотеку DOMPDF, и теперь у меня проблема с контентом на языке Unicode. и я нашел эту помощь по dompdf, но я не понимаю об этом . кто-нибудь может подробно рассказать об этом? Благодарность


person Piseth Sok    schedule 23.01.2012    source источник
comment
возможный дубликат проблемы DOMPDF с кириллическими символами   -  person hakre    schedule 23.01.2012


Ответы (5)


  1. Включите расширение mbstring.
  2. Найдите шрифт в формате .ttf с символами, которые поддерживают данный язык.
  3. Generate a .afm file for DOMPDF:
    1. Using the command line, cd into the directory which contains load_font.php, then run php load_font.php FontName /path/to/font.ttf
    2. Используя онлайн-инструмент, заполните форму и загрузите полученный zip-файл. Скопируйте файлы из этого zip в dompdf/lib/fonts. Если вы делали это раньше, добавьте соответствующие строки в dompdf_font_family_cache, в противном случае просто переименуйте dompdf_font_family_cache.sample в dompdf_font_family_cache.
  4. Включите режим Unicode в DOMPDF, убедившись, что строка

    define("DOMPDF_UNICODE_ENABLED", true);
    

    установлен в dompdf_config.inc.php. Если он читает false вместо true, измените это.

person Ryan McCue    schedule 23.01.2012
comment
Я получил сообщение: Не удалось найти исполняемый файл ttf2afm / ttf2pt1 (проверено /home/piseth/dev/example/pdf_php/lib/ttf2ufm/ttf2ufm-src/ttf2pt1). - person Piseth Sok; 23.01.2012
comment
Похоже, вам нужно установить tt2afm или tt2pt1. Попробуйте ttf2pt1.sourceforge.net - person Ryan McCue; 23.01.2012
comment
Я попробовал вашу инструкцию, но она не работает. Я прочитал в другой теме, что я должен добавить css о семействе шрифтов в print.tpl, и тогда это действительно работает. - person deem; 06.08.2013
comment
Я следовал приведенной выше инструкции, но не работает для меня. - person Mr. Tomar; 05.03.2016
comment
Когда я генерирую форму PDF HTML, которая содержит бирманский язык (நான் என் முதலாளி ஜன்னல்கள் வெளிப்புறம் சுத்தம் தேவையில்லை என்று புரிந்துகொள்ளுங்கள் புரிந்துகொள்ளுங்கள்.) Затем в PDF его шоу ??????????????????? ?????????????????????????????? - person Mr. Tomar; 05.03.2016

Для этого существует вики-страница.

Следующая бета-версия (0.6 beta 3), которая скоро будет выпущена, имеет установщик шрифтов, который не требует командной строки (ни какой-либо компиляции). Вы уже можете использовать его, проверив транк SVN. Эта бета-версия также поддерживает @font-face.

person Fabien Ménager    schedule 23.01.2012
comment
магистраль SVN не работает. Я def("DOMPDF_UNICODE_ENABLED", true); также изменил это, но все равно не работает. - person Piseth Sok; 23.01.2012
comment
@user970587 user970587 было бы полезно увидеть образец кода, который вы пытаетесь отобразить (и более подробную информацию о том, что вы пробовали) - person BrianS; 24.01.2012

Начиная с версии 0.7, dompdf поддерживает и включает юникод по умолчанию. (поэтому нет необходимости в настройке).

Однако не все шрифты dompdf поддерживают юникод. Я использовал font-family: DejaVu Sans с успехом.

Чтобы установить пользовательский шрифт или узнать о нем больше, вы можете прочитать официальные как использовать Unicode.

person Dimitris Baltas    schedule 30.03.2016

Загрузите load_font.php и поместите в корень вашего проекта

Посмотреть load_font.php

добавить $fontDir = "storage/fonts";

Это покажет, где шрифты добавлены.

загрузите свой шрифт, например: PREETI и поместите в корень вашего проекта

запустить в командной строке php load_font.php PREETI PREETI.ttf

тогда ваш шрифт будет установлен в каталог storage/fonts

теперь перейдите к файлу PDF и добавьте

<style>
    body {
        font-family: PREETI;
        color: #1c2221;
    }
</style>
person Regolith    schedule 23.12.2020

попробуйте манипулировать своим кодом, используя этот рекомендуемый метод DOMPDF. Это руководство по включению поддержки Unicode в DOMPDF Чтобы обеспечить максимальную совместимость, вы должны выполнить все следующие шаги. Щелкните для получения дополнительной информации. Ensure the MBString PHP extension is enabled Install dompdf 0.6.0 or greater Configure dompdf for Unicode support Load a font supporting your characters into dompdf Create a compatible HTML document см. ссылку для получения дополнительной информации

person usama sulaiman    schedule 05.03.2016