我正在使用JasperReport版本6.2
我想将报告导出为PDF,但我的报告不支持与英语不同的语言(其他语言字段显示为空白),
这是我生成报告的代码
JsonDataSource ds = new JsonDataSource(JRLoader.getInputStream(jsonFile));
JasperReport jasperReport = (JasperReport) JRLoader.loadObject(jasperFile);
parameters.put(JRParameter.REPORT_FILE_RESOLVER, new SimpleFileResolver(new File(reportDirPath)));
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, ds);
JasperExportManager.exportReportToPdfFile(jasperPrint, outputFilePath);
我使用本教程创建了一个字体扩展名:“http://community.jaspersoft.com/wiki/custom-font-font-extension”
我导出到jar文件并添加到我的项目类路径,但所有非英文字段仍为空白
peter对此 link的评论非常有帮助,它帮助我意识到我的字体是否首先支持所需的语言
答案 0 :(得分:3)
这里的问题是font(ttf)不支持该语言(使用此How can I test if my font is rendered correctly in pdf?进行测试)所以问题类似于How can I render hindi correctly when exporting to pdf?)
解决方案:查找支持该语言的字体并使用font-extension。
有关如何在不同语言之间切换字体的信息,请参阅此跟进问题:Jasper report, load multiple Font Extension
//社区维基,因为我希望在低流量标签中重复但很难