Как я могу отобразить "$£Ω€απ⅔ " в JASPERSERVER PDF с помощью iReport?
Я жестко закодировал текстовое поле со значением
":$£Ω€απ⅔:"
чтобы проверить, будут ли эти символы отображаться в PDF
но он печатает только как
:$£€:
Я попытался изменить шрифт на "символ", но это не делает трюк.
Примечание: я использую iReport 5.5
3 ответов
Я пробовал ваших персонажей с помощью font-extensions в iReport, это шаги, которые я сделал
- загрузите (или используйте один на своем ПК) нужный шрифт ttf (он должен поддерживать символы), я использовал дежавю-засечек.
-
установить шрифт в iReport или Jasper soft studio (нажмите ссылки, чтобы понять, как)
-
я использовал iReport 5.6 и установил PDF-документа-кодировка: Отличии Друг От Друга-Час (unicode с горизонтальной записью) и встроенным шрифтом в pdf. Это был код моего текстового поля
<textField> <reportElement x="8" y="15" width="100" height="20" uuid="41dc1200-091f-4799-a1d2-4622f88a0e84"/> <textElement> <font fontName="DejaVu Serif" size="13"/> </textElement> <textFieldExpression><![CDATA[":$£Ω€απ⅔:"]]></textFieldExpression> </textField>
-
экспорт расширения шрифта (это создает .jar)
- добавить Jar в ваш classpath.
- экспорт в pdf и наслаждаться результатом.
Это пример того, как использовать произвольный шрифт, если хочешь использовать
DejaVu Sans
илиDejaVu Serif
вы можете просто включить яшма библиотека шрифтов отчетов в classpath, следовательно, эти шрифты уже включены и сопоставлены в библиотеке
JRDesignStyle normalStyle = new JRDesignStyle();
normalStyle.setName("tahoma");
normalStyle.setDefault(true);
normalStyle.setFontName("../tahoma_0.ttf");
normalStyle.setPdfFontName("../tahoma_0.ttf");
normalStyle.setPdfEncoding("Identity-H");
normalStyle.setPdfEmbedded(true);
.
.
jasperPrint.addStyle(normalStyle);
Я опубликовал аналогичный вопрос, и вышеуказанная техника решила мою проблему, пока в один прекрасный день я не перезапустил контекст JasperServer. Теперь я получал ошибку "кодировка PDF не найдена", когда пытался экспортировать отчет в pdf.
чтобы решить эту проблему, мне пришлось скопировать iText-Asian.jar и расширение шрифта.jar в папке lib контекста jasperserver. "jasperserver / WEB-INF/lib". После этого перезапустите контекст и проблема решена.
надеюсь, это поможет кто-то.