BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 20 июн 2025, 01:01

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: Шрифт в печатной форме
СообщениеДобавлено: 16 июл 2009, 14:22 
Не в сети

Зарегистрирован: 09 июл 2009, 11:31
Сообщения: 82
Откуда: Россия
Карма: 20
Здраствуйте.

Есть ли возможность использовать другие шрифты в печатной форме помимо Arial?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 20 июл 2009, 12:18 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
http://wiki.bitel.ru/index.php/FO(P)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 21 июл 2009, 17:47 
Не в сети

Зарегистрирован: 09 июл 2009, 11:31
Сообщения: 82
Откуда: Россия
Карма: 20
Спасибо. Добавил шрифт Times New Roman по инструкции "Добавление новых шрифтов в FO шаблоны".

В userconfig.xml:
Код:
   <font metrics-file="times.xml" kerning="yes" embed-file="times.ttf">
      <font-triplet name="times" style="normal" weight="normal"/>
   </font>
   <font metrics-file="timesbold.xml" kerning="yes" embed-file="timesbold.ttf">
      <font-triplet name="times" style="normal" weight="bold"/>
   </font>


В шаблоне печатной формы заменил все "arial" на "times".

Печатная форма с новыми шрифтами генерируется нормально, а вот экспорт в pdf не работает. Получаемый на выходе pdf-файл (размер 15 байт):
Код:
%PDF-1.3
%����


В server.out при сохранении в pdf появляется сообщение:
Код:
[Fatal Error] :1:67925: The element type "font-metrics" must be terminated by the matching end-tag "</font-metrics>".
file:///opt/BGBillingServer/dummy.xsl; Line #0; Column #0; java.lang.NullPointerException


Как изжить эту ошибку?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 28 июл 2009, 12:55 
Не в сети

Зарегистрирован: 09 июл 2009, 11:31
Сообщения: 82
Откуда: Россия
Карма: 20
Вопрос все еще актуален, ответьте, пожалуйста.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Версии
СообщениеДобавлено: 28 июл 2009, 13:00 
Не в сети

Зарегистрирован: 09 июл 2009, 11:31
Сообщения: 82
Откуда: Россия
Карма: 20
Клиент: 4.6.408, сервер: 4.6.513, bill: 4.6.201


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 28 июл 2009, 14:12 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Что-то не так сгенерилось судя по всему... проверьте что times.xml - валидный xml.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 28 июл 2009, 15:53 
Не в сети

Зарегистрирован: 09 июл 2009, 11:31
Сообщения: 82
Откуда: Россия
Карма: 20
Проверил times.xml, явных ошибок в нем нет, отличие с изначально включенным arial.xml только в элементе <embed>.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 28 июл 2009, 15:55 
Не в сети

Зарегистрирован: 09 июл 2009, 11:31
Сообщения: 82
Откуда: Россия
Карма: 20
Прилагаю times.xml


Вложения:
times.zip [9.47 КБ]
Скачиваний: 232
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 28 июл 2009, 16:05 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Может быть в timesbold.xml? А сам шаблон счета?
Если ни чем больше не отличаются попробуйте скопировать arial.xml в times.xml и bold соответственно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 28 июл 2009, 16:42 
Не в сети

Зарегистрирован: 09 июл 2009, 11:31
Сообщения: 82
Откуда: Россия
Карма: 20
Нет, файлы отличаются, конечно, в том числе и размером, просто элемент embed явно бросается в глаза.

arial.xml:
Код:
<embed class="Arial" file="Arial"/>


times.xml:
Код:
<embed/>


Пробовал менять его в times.xml:
Код:
<embed class="TimesNewRoman" file="TimesNewRoman"/>

ничего не изменилось.

По поводу timesbold - вообще исключил шрифт как из fop.jar, так и из шаблона. После чего в server.out появилась другая ошибка:
Код:
[Fatal Error] :1:67594: Element type "pair" must be followed by either attribute specifications, ">" or "/>".
file:///opt/BGBillingServer/dummy.xsl; Line #0; Column #0; java.lang.NullPointerException


Можно ли как-то подсмотреть dummy.xsl?
Шаблон прилагаю.


Вложения:
maestro_bill_pdf.zip [3.72 КБ]
Скачиваний: 246
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 04 авг 2009, 11:32 
Не в сети

Зарегистрирован: 09 июл 2009, 11:31
Сообщения: 82
Откуда: Россия
Карма: 20
Есть ли изменения по этой проблеме?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 05 авг 2009, 15:56 
Не в сети

Зарегистрирован: 09 июл 2009, 11:31
Сообщения: 82
Откуда: Россия
Карма: 20
Вобщем проблема в итоге решилась. Оказывается новые ttf и xml файлы шрифтов запаковывались в fop.jar с ошибками (CRC error) и биллинг просто не мог их вытащить целиком. Как только разобрался с архиватором, pdf стал генерироваться нормально.

Правда появился еще один нюанс. Опишу его подробно, вдруг кто-то еще столкнется.

Изначально я решил попробовать перейти на другой шрифт из-за того, что Arial показывал только жирное начертание в печатной форме. В pdf'е же было как нормальное, так и жирное начертание. Вдоволь помыкавшись со шрифтами, обратил внимание на userconfig.xml в fop.jar/conf, а именно:
Код:
   <font metrics-file="arial.xml" kerning="yes" embed-file="arial.ttf">
      <font-triplet name="arial" style="normal" weight="normal"/>
   </font>
   <font metrics-file="arialbold.xml" kerning="yes" embed-file="arialbold.ttf">
      <font-triplet name="arial" style="normal" weight="bold"/>
   </font>

Обратите внимание, что font-triplet name = arial в обоих случаях.

Далее, если в шаблоне счета будет подобное описание стиля:
Код:
   <xsl:attribute-set name="text">
      <xsl:attribute name="font-family">arial</xsl:attribute>
      <xsl:attribute name="font-size">10pt</xsl:attribute>
                ...
   </xsl:attribute-set>

то вместо обычного начертания будет использоваться жирное!

Если указан атрибут
Код:
 
   <xsl:attribute name="font-weight">bold</xsl:attribute>

то начертание, естественно, тоже жирное.

Атрибут font-weight = normal, указанный явно:
Код:
 
   <xsl:attribute name="font-weight">normal</xsl:attribute>

никоим образом на начертание не влияет - опять везде bold.

Решил эту проблему следующим способом:
В userconfig.xml явно указать font-triplet name = arialbold:
Код:
   <font metrics-file="arial.xml" kerning="yes" embed-file="arial.ttf">
      <font-triplet name="arial" style="normal" weight="normal"/>
   </font>
   <font metrics-file="arialbold.xml" kerning="yes" embed-file="arialbold.ttf">
      <font-triplet name="arialbold" style="normal" weight="bold"/>
   </font>

Далее, в шаблоне использовать font-family = arialbold:
Код:
   <xsl:attribute name="font-family">arialbold</xsl:attribute>


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 12 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
POWERED_BY
Русская поддержка phpBB
[ Time : 0.044s | 40 Queries | GZIP : On ]