Я использовал библиотеку DOMPDF, и теперь у меня проблема с контентом на языке Unicode. и я нашел эту помощь по dompdf, но я не понимаю об этом . кто-нибудь может подробно рассказать об этом? Благодарность
Как шаг за шагом заставить DOMPDF поддерживать шрифт Unicode?
Ответы (5)
- Включите расширение mbstring.
- Найдите шрифт в формате
.ttf
с символами, которые поддерживают данный язык. - Generate a
.afm
file for DOMPDF:- Using the command line,
cd
into the directory which containsload_font.php
, then runphp load_font.php FontName /path/to/font.ttf
- Используя онлайн-инструмент, заполните форму и загрузите полученный zip-файл. Скопируйте файлы из этого zip в
dompdf/lib/fonts
. Если вы делали это раньше, добавьте соответствующие строки вdompdf_font_family_cache
, в противном случае просто переименуйтеdompdf_font_family_cache.sample
вdompdf_font_family_cache
.
- Using the command line,
Включите режим Unicode в DOMPDF, убедившись, что строка
define("DOMPDF_UNICODE_ENABLED", true);
установлен в
dompdf_config.inc.php
. Если он читаетfalse
вместоtrue
, измените это.
Для этого существует вики-страница.
Следующая бета-версия (0.6 beta 3), которая скоро будет выпущена, имеет установщик шрифтов, который не требует командной строки (ни какой-либо компиляции). Вы уже можете использовать его, проверив транк SVN. Эта бета-версия также поддерживает @font-face
.
def("DOMPDF_UNICODE_ENABLED", true);
также изменил это, но все равно не работает.
- person Piseth Sok; 23.01.2012
Начиная с версии 0.7, dompdf поддерживает и включает юникод по умолчанию. (поэтому нет необходимости в настройке).
Однако не все шрифты dompdf поддерживают юникод. Я использовал font-family: DejaVu Sans
с успехом.
Чтобы установить пользовательский шрифт или узнать о нем больше, вы можете прочитать официальные как использовать Unicode.
Загрузите 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>
попробуйте манипулировать своим кодом, используя этот рекомендуемый метод 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
см. ссылку для получения дополнительной информации