我正在尝试使用jasper报告在java restful Web服务应用程序上生成pdf。该报告是使用面向eclipse的jasper studio 6.3.1插件制作的。我使用的jre是1.8.0_112。
当我尝试使用以下代码编译jrxml时:
InputStream reportTemplate =httpReq.getServletContext().getResourceAsStream(reportPath);
JasperReport report = JasperCompileManager.compileReport(reportTemplate);
我收到了这个错误:
java.util.logging.ErrorManager: 5
Handler.reportError caught:
如果我使用插件编译报告,填写报告时会出现同样的错误。我用来做的代码是:
InputStream reportTemplate =httpReq.getServletContext().getResourceAsStream(reportPath);
JasperReport report = (JasperReport) JRLoader.loadObject(reportTemplate);
parameters.put(JsonQueryExecuterFactory.JSON_INPUT_STREAM, jsonDataIs);
parameters.put(JRParameter.REPORT_LOCALE, Locale.ITALY);
JasperPrint pdf = JasperFillManager.fillReport(report, parameters);
我尝试过使用eclipse mars2和neon,获得相同的结果。我设法填写报告的唯一方法是在独立的Jasper Studio 6.3.1中编译报告,并在编译后使用上面的代码在eclipse中填充它。但只能使用默认字体:更改字体时,报告不会出现,而且我没有控制台错误。
答案 0 :(得分:0)
我已经通过将字体更改为SansSerif来解决了这个问题。如果我输入其他字体,填写报告时会出现同样的错误。
另一方面,我认为void stacktrace与jasperreports使用的log4j配置有关。
感谢您的评论。