Far*_*bar 2 java pdf report jasper-reports
我正在按照标题中所述升级JasperReports版本。我对JasperReports版本升级了解不多。为了使它起作用,我必须更改所有内容。我有所有的最新.jar文件。但是当我打印.PDF报告时,它给了我这个错误。
error:could not open file because its damaged or not supported.
Run Code Online (Sandbox Code Playgroud)
在日食中显示了此异常
java.lang.NoSuchFieldError: PRINTSCALING at
net.sf.jasperreports.engine.export.JRPdfExporter.exportReportToStream(JRPdfExpor??ter.java:532) at
net.sf.jasperreports.engine.export.JRPdfExporter.exportReport(JRPdfExporter.java??:396) at
net.sf.jasperreports.engine.JasperExportManager.exportToPdf(JasperExportManager.??java:212) at
net.sf.jasperreports.engine.JasperExportManager.exportReportToPdf(JasperExportMa??nager.java:536) at
com.sibisoft.northstar.util.JasperReportGenerator.getPdfByteArray(JasperReportGe??nerator.java:679)
Run Code Online (Sandbox Code Playgroud)
请帮我。
问题不在于JasperReports,而在于您所使用的iText库的版本。您需要下载2.1.7版本才能使用该版本的JasperReports。你可以从这里得到。
过去遇到这个问题的时候,我碰巧知道这个问题,但是作为将来有用的笔记,这是我最初弄清楚这个问题的过程。
由于JasperReports是开源的,因此可以轻松地在网上找到代码。所以我谷歌:
网站:grepcode.com net.sf.jasperreports.engine.export.JRPdfExporter.exportReportToStream
在线查找代码。(GrepCode基本上提供了一个很酷的站点,可以浏览许多开源项目的源代码。)
在GrepCode页面的顶部,他们具有项目的版本,因此请确保它指向您所使用的版本。
然后在错误消息中找到方法或行号。
从这里开始,就像调试本地代码一样。您可以看到什么是冒犯的类,以及它属于哪个包。在这种情况下,它指向itext libray作为罪魁祸首。
希望以后对您有所帮助,祝您报告愉快。