En primer lugar, asegúrese de que usted tiene la codificación correcta:
JRPdfExporter exporter = new JRPdfExporter();
exporter.setParameter(JRExporterParameter.CHARACTER_ENCODING, "UTF-8");
entonces debería cambiar las fuentes a las que apoyan cirílico. Esto se hace a través de estilos:
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);
}
}
}
}
e invocar este método con addPdfFontsToStyles(jasperReport.getStyles());
Por supuesto, los requisitos son:
- su texto está basado en uno de los nombres de los estilos anteriores
- se tener los archivos ttf en classpath
Eso debería hacer (yo estoy tomando el código de una aplicación de cyrilic de trabajo)
¿Las fuentes utilizadas para la exportación tienen los caracteres necesarios? No estoy seguro de qué método usa el Informe Jasper, pero el archivo PDF generalmente contiene la fuente utilizada para generarlo, lo que significa que la fuente debe admitir caracteres internacionales. – Piskvor
http://maryniuk.blogspot.com/2010/09/custom-ttf-fonts-in-jasperreports.html esto me ayudó –