我正在设计一份带有一些马拉地语(印度语)字样的报告。 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();
至少它显示了马拉地语。但是这些单词没有正确显示(它们断开,对齐很差)。
我该怎样做:
谢谢!
答案 0 :(得分:0)
是的,问题是由export()
方法引起的,在印度语脚本中,在打印它们时有一些字我们需要左右移动。这导致了这个问题。
有人使用过OpenOffice的导出器并托管了更新版本的Jasper Report,请查看indic-jasper
答案 1 :(得分:0)
在ireport4.0.2 / ireport / fonts下创建一个jar文件,并将其添加到类路径中,如果你得到类似“JVM找不到字体”的恐怖声。