Использование определения <style>делает шрифт необъяснимым в отчетах jasper pdf export? - PullRequest
1 голос
/ 29 сентября 2011

У меня есть банка, которую я включаю в свое приложение с некоторыми шрифтами. Если я вставлю вокруг

<font fontName="NimbusSansGlobal Light" size="12" pdfFontName="NimbusSansGlobal Light" pdfEncoding="Identity-H" isPdfEmbedded="true"/>

во все мои текстовые элементы, PDF вывод работает нормально. Если я переключу их все, чтобы использовать стиль, который определяет шрифт как таковой:

<style name="SansFontStyle" isDefault="true" pdfFontName="NimbusSansGlobal Light" pdfEncoding="Identity-H" isPdfEmbedded="true"/>, тогда шрифт JRLoader не может быть найден при попытке создания отчетов. Интересно, что если я непосредственно использую JRLoader в своем приложении, шрифт будет найден нормально.

Почему стили нарушают экспорт PDF?

1 Ответ

0 голосов
/ 21 ноября 2011

Использование расширений шрифтов должно решить эту проблему.

Как только вы используете расширения шрифта, вы можете установить шрифт в текстовом элементе или в стиле. Вы будете не указывать в отчете pdfFontName, pdfEncoding или isPdfEmbedded. Это указывается в расширении шрифта.

Примечание: в строгой интерпретации это фактически не отвечает на вопрос. Я понятия не имею, почему стили работают иначе, чем прямая установка шрифтов. Это похоже на ошибку, но, возможно, это неожиданно, но намеренно, по какой-то причине, о которой мы не думаем. Поэтому я начал вводить это как комментарий, а не как ответ. Но это слишком долго.

Независимо от этого, это должно позволить вам использовать стили, как вы хотите. Поэтому я ожидаю, что это решит суть проблемы.

Расширения шрифтов документированы в примерах и документации JasperReports (и iReport), поэтому их будет довольно легко использовать, если вы знаете, что должны.

...