I am trying to display ukranian character in jasper report as a pdf file. but it is not diaplaying in pdf format.
when I export report to all other format like html,
Since jasper report v5, v6 the correct way to display characters in pdf is to use font-extension
For more information see these question on stackoverflow:
Jasper Reports PDF doesn't export cyrillic values
How can I display "$£Ω€απ⅔" in Jasperserver PDF using iReport?
register font in JVM
Font myFont = Font.createFont(Font.TRUETYPE_FONT, new File("pathToCyrillicFont"));
GraphicsEnvironment.getLocalGraphicsEnvironment().registerFont(myFont);
add to Cyrillic field this:
<textElement>
<font
fontName="fontName"
pdfFontName="pathToCyrillicFont"
size="13"
isBold="false"
isItalic="false"
isUnderline="false"
isPdfEmbedded ="true"
pdfEncoding ="Cp1251"
isStrikeThrough="false"
/>
</textElement>
Enjoy!
First, make sure you have the right encoding:
JRPdfExporter exporter = new JRPdfExporter();
exporter.setParameter(JRExporterParameter.CHARACTER_ENCODING, "UTF-8");
Then you should change the fonts to ones that support cyrillic. This is done via styles:
public void addPdfFontsToStyles(JRStyle[] styles) {
if (styles != null) {
for (JRStyle style : styles) {
if (style.getName().equals("reportStyle")) {
style.setPdfFontName("/com/yourcompany/fonts/times.ttf");
style.setBlankWhenNull(true);
}
if (style.getName().equals("reportBoldStyle")) {
style.setPdfFontName("/com/yourcompany/fonts/timesbd.ttf");
style.setBlankWhenNull(true);
}
}
}
}
And invoke this method with addPdfFontsToStyles(jasperReport.getStyles());
Of course, the prerequisites are:
That should do it (I'm taking the code from a working cyrilic application)
Set some text field properties at iReport. Use font DejaVu Sans. Set pdf encoding to Cp1251 and isPdfEmbedded to true.
Ex.: <font fontName="DejaVu Sans" isStrikeThrough="false" pdfEncoding="Cp1251" isPdfEmbedded="true" />
jasperreports fonts as maven dependency:
<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports-fonts</artifactId>
</dependency>