JasperReports印度语的字体问题

时间:2011-03-15 07:35:30

标签: java jasper-reports ireport

我正在设计一份带有一些马拉地语(印度语)字样的报告。 iReport的内部和HTML预览工作。但是,PDF视图不起作用。

PDF方面可能存在某些错误,或iText.jar中可能存在错误。

然后我使用了这个java代码。 该报告使用freesans.ttf字体,代码如下:

JRReportFont font = new JRDesignReportFont();
font.setPdfFontName("FreeSans.ttf");
font.setPdfEncoding(com.lowagie.text.pdf.BaseFont.IDENTITY_H);
font.setPdfEmbedded(true);
jasperPrint.setDefaultFont(font);
pdfExpoter.setParameter(JRPdfExporterParameter.JASPER_PRINT, jasperPrint);
pdfExpoter.setParameter(JRPdfExporterParameter.CHARACTER_ENCODING, "UTF-8");
pdfExpoter.setParameter(JRPdfExporterParameter.OUTPUT_FILE_NAME, destFile.toString());
pdfExpoter.exportReport();

至少它显示了马拉地语。但是这些单词没有正确显示(它们断开,对齐很差)。

我该怎样做:

  • 显示PDF?
  • 修复路线?

谢谢!

2 个答案:

答案 0 :(得分:0)

是的,问题是由export()方法引起的,在印度语脚本中,在打印它们时有一些字我们需要左右移动。这导致了这个问题。

有人使用过OpenOffice的导出器并托管了更新版本的Jasper Report,请查看indic-jasper

答案 1 :(得分:0)

在ireport4.0.2 / ireport / fonts下创建一个jar文件,并将其添加到类路径中,如果你得到类似“JVM找不到字体”的恐怖声。