如果报告时间过长,则Jasper报告图像格式异常

时间:2018-08-23 04:26:32

标签: java jasper-reports itext

大约8年以来,我们一直将JasperReports用作Java应用程序中的报告编写器。大多数情况下,这很好,但最近我们遇到了一个困扰我们的问题。

我们在第一页上有一个带有公司徽标的报告。该报告通常不到2页,而且效果很好。

但是,当报告移至第三页时(这种情况非常少见),当我们尝试将其导出为PDF时会遇到以下异常:

net.sf.jasperreports.engine.JRException: java.io.IOException: The byte array is not a recognized imageformat.
    at net.sf.jasperreports.engine.export.JRPdfExporter$InternalImageProcessor.processImageRetainShape(JRPdfExporter.java:1747)
    at net.sf.jasperreports.engine.export.JRPdfExporter$InternalImageProcessor.process(JRPdfExporter.java:1604)
    at net.sf.jasperreports.engine.export.JRPdfExporter$InternalImageProcessor.access$300(JRPdfExporter.java:1532)
    at net.sf.jasperreports.engine.export.JRPdfExporter.exportImage(JRPdfExporter.java:1472)
    at net.sf.jasperreports.engine.export.JRPdfExporter.exportElements(JRPdfExporter.java:1090)
    at net.sf.jasperreports.engine.export.JRPdfExporter.exportFrame(JRPdfExporter.java:3117)
    at net.sf.jasperreports.engine.export.JRPdfExporter.exportElements(JRPdfExporter.java:1098)
    at net.sf.jasperreports.engine.export.JRPdfExporter.exportPage(JRPdfExporter.java:1053)
    at net.sf.jasperreports.engine.export.JRPdfExporter.exportReportToStream(JRPdfExporter.java:917)
    at net.sf.jasperreports.engine.export.JRPdfExporter.exportReport(JRPdfExporter.java:537)
    .... 
    (our application)
    ....
Caused by: java.io.IOException: The byte array is not a recognized imageformat.
    at com.lowagie.text.Image.getInstance(Unknown Source)
    at net.sf.jasperreports.engine.export.JRPdfExporter$InternalImageProcessor.processImageRetainShape(JRPdfExporter.java:1742)
    ... 47 more

注意:我们可以在Jasper查看器中很好地查看报告,仅当将报告导出为PDF以通过电子邮件发送报告时才会发生错误。

我们正在使用的Jasper的当前版本是6.4.1,其中包括itext的2.1.7-js6版本(异常的来源)。

0 个答案:

没有答案