The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"PDF и русский забороты"
Отправлено stalker, 09-Сен-09 14:21 
Найдено решение вопросиков в pdf-экспорте:

http://www.tux.in.ua/articles/1500

Цитирую:
По умолчанию при экспорте в PDF вместо русских букв выводятся знаки вопросов, это происходит по двум причинам: стандартная функция экспортирует данные в кодировке ISO-8859-1, которую и поддерживает используемый по умолчаннию шрифт. Подсказка была найдена на форуме OPENNET. Заменяем в скрипте /var/www/glpi/inc/export.function.php вызов функции utf8_decode на utf8_decode_cyr.

sudo perl -p -i -e 's/utf8_decode/utf8_decode_cyr/g' export.function.php

И добавляем в export.function.php описание самой функции utf8_decode_cyr:
function utf8_decode_cyr($value){
        return iconv("UTF-8","Windows-1251",$value);
}

Теперь шрифт. По умолчанию для экспорта используется шрифт Helvetica, его бы я и рекомендовал оставить. Если заменить шрифт другим, его имя придется править не только в двух местах файла export.function.php:

$ cat export.function.php | grep -i selectFont
$pdf->selectFont(GLPI_ROOT."/lib/ezpdf/fonts/Helvetica.afm");

Но и в 2 файлах находящихся в lib/ezpdf.

Теперь шрифт. Для конвертирования TTF шрифта в Postscript type 1 потребуется утилита ttf2pt1.

$ sudo apt-get install ttf2pt1

Запускаем.

$ ttf2pt1 -l cyrillic -A Helvetica.ttf Helvetica

Теперь копируем файлы вместо старых, не забыв подправить права.

$ sudo cp -v Helvetica* /var/www/glpi/lib/ezpdf/fonts/
`Helvetica.afm' -> `/var/www/glpi/lib/ezpdf/fonts/Helvetica.afm'
`Helvetica.t1a' -> `/var/www/glpi/lib/ezpdf/fonts/Helvetica.t1a'
`Helvetica.ttf' -> `/var/www/glpi/lib/ezpdf/fonts/Helvetica.ttf'

Исправленный вариант шрифтов: http://www.tux.in.ua/wp-content/uploads/2009/08/font.rar
После этого PDF будет выводится корректно.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру