XDocReport无法从InputStream java.util.zip.ZipExeption创建报告

时间:2014-08-12 13:52:47

标签: java xdocreport

我使用xdocexample

中的代码
 InputStream in  = Thread.currentThread().getContextClassLoader().getResourceAsStream(pathToTemplate);
 IXDocReport report = DocReportRegistry.getRegistry().loadReport(in,TemplateEngineKind.Velocity);

并有错误:

2014-08-12 20:13:40,050 ERROR [STDERR] java.util.zip.ZipException: incomplete dynamic bit lengths tree
2014-08-12 20:13:40,085 ERROR [STDERR]  at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:147)
2014-08-12 20:13:40,096 ERROR [STDERR]  at java.util.zip.ZipInputStream.read(ZipInputStream.java:154)
2014-08-12 20:13:40,097 ERROR [STDERR]  at java.io.FilterInputStream.read(FilterInputStream.java:90)
2014-08-12 20:13:40,097 ERROR [STDERR]  at fr.opensagres.xdocreport.core.io.IOUtils.copyLarge(IOUtils.java:1135)
2014-08-12 20:13:40,097 ERROR [STDERR]  at fr.opensagres.xdocreport.core.io.IOUtils.copy(IOUtils.java:1109)
2014-08-12 20:13:40,098 ERROR [STDERR]  at fr.opensagres.xdocreport.core.io.XDocArchive.setEntry(XDocArchive.java:349)
2014-08-12 20:13:40,098 ERROR [STDERR]  at fr.opensagres.xdocreport.core.io.XDocArchive.readZip(XDocArchive.java:311)
2014-08-12 20:13:40,098 ERROR [STDERR]  at fr.opensagres.xdocreport.document.registry.XDocReportRegistry.createReport(XDocReportRegistry.java:359)
2014-08-12 20:13:40,099 ERROR [STDERR]  at fr.opensagres.xdocreport.document.registry.XDocReportRegistry.loadReport(XDocReportRegistry.java:326)
2014-08-12 20:13:40,099 ERROR [STDERR]  at fr.opensagres.xdocreport.document.registry.XDocReportRegistry.loadReport(XDocReportRegistry.java:317)
2014-08-12 20:13:40,100 ERROR [STDERR]  at fr.opensagres.xdocreport.document.registry.XDocReportRegistry.loadReport(XDocReportRegistry.java:302)
2014-08-12 20:13:40,100 ERROR [STDERR]  at com.work.report.xdocreport.XDocReport.<init>(XDocReport.java:36)
2014-08-12 20:13:40,100 ERROR [STDERR]  at com.work.report.builders.XdocReportBuilder.build(XdocReportBuilder.java:49)

可能是什么问题?

1 个答案:

答案 0 :(得分:0)

很难帮助您,因为我们不知道您要加载哪种文档类型。 XDocReport API可以加载任何XML压缩文档(docx,odt等),但是你需要很好的实现。

今天,XDocReport可以加载docx,pptx和odt。

所以我认为你正在加载一个糟糕的文件(也许是.doc是二进制文件,而不是包含xml条目的zip文件)。