forum.bitel.ru http://forum.bitel.ru/ |
|
Шрифт в печатной форме http://forum.bitel.ru/viewtopic.php?f=14&t=2586 |
Страница 1 из 1 |
Автор: | DDPaul [ 16 июл 2009, 14:22 ] |
Заголовок сообщения: | Шрифт в печатной форме |
Здраствуйте. Есть ли возможность использовать другие шрифты в печатной форме помимо Arial? |
Автор: | Администратор [ 20 июл 2009, 12:18 ] |
Заголовок сообщения: | |
http://wiki.bitel.ru/index.php/FO(P) |
Автор: | DDPaul [ 21 июл 2009, 17:47 ] |
Заголовок сообщения: | |
Спасибо. Добавил шрифт 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 Как изжить эту ошибку? |
Автор: | DDPaul [ 28 июл 2009, 12:55 ] |
Заголовок сообщения: | |
Вопрос все еще актуален, ответьте, пожалуйста. |
Автор: | DDPaul [ 28 июл 2009, 13:00 ] |
Заголовок сообщения: | Версии |
Клиент: 4.6.408, сервер: 4.6.513, bill: 4.6.201 |
Автор: | Amir [ 28 июл 2009, 14:12 ] |
Заголовок сообщения: | |
Что-то не так сгенерилось судя по всему... проверьте что times.xml - валидный xml. |
Автор: | DDPaul [ 28 июл 2009, 15:53 ] |
Заголовок сообщения: | |
Проверил times.xml, явных ошибок в нем нет, отличие с изначально включенным arial.xml только в элементе <embed>. |
Автор: | DDPaul [ 28 июл 2009, 15:55 ] | ||
Заголовок сообщения: | |||
Прилагаю times.xml
|
Автор: | Amir [ 28 июл 2009, 16:05 ] |
Заголовок сообщения: | |
Может быть в timesbold.xml? А сам шаблон счета? Если ни чем больше не отличаются попробуйте скопировать arial.xml в times.xml и bold соответственно. |
Автор: | DDPaul [ 28 июл 2009, 16:42 ] | ||
Заголовок сообщения: | |||
Нет, файлы отличаются, конечно, в том числе и размером, просто элемент 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? Шаблон прилагаю.
|
Автор: | DDPaul [ 04 авг 2009, 11:32 ] |
Заголовок сообщения: | |
Есть ли изменения по этой проблеме? |
Автор: | DDPaul [ 05 авг 2009, 15:56 ] |
Заголовок сообщения: | |
Вобщем проблема в итоге решилась. Оказывается новые 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>
|
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |