如何将JasperReport导出为HTML,而不将图像保存在磁盘上?

时间:2010-11-24 12:01:05

标签: jasper-reports

我正在尝试将HTML导出引入基于JasperReports的报表引擎。 HTML文档生成正常,但问题在包含图像时开始。与PDF相比,图像不是HTML的一部分。

我到目前为止找到的解决方案如下:

JRHtmlExporter exporter = new JRHtmlExporter();

exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRHtmlExporterParameter.IS_OUTPUT_IMAGES_TO_DIR, Boolean.TRUE);
exporter.setParameter(JRHtmlExporterParameter.IMAGES_DIR_NAME, "./images/");
exporter.setParameter(JRHtmlExporterParameter.IMAGES_URI, "/images/");
exporter.setParameter(JRHtmlExporterParameter.IS_USING_IMAGES_TO_ALIGN, Boolean.FALSE);
exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, outputStream);

exporter.exportReport();

这样,所有图像都由JasperReports自动生成并保存在这个“images”文件夹中。它们也被HTML文件正确引用。

问题是图像在文件夹中保存得太晚,用户需要刷新已经收到的HTML页面才能看到它们。这真的不太好,我也不明白为什么要保存图像,因为它们是由JasperReports自动生成的。

如何告诉JasperReports以某种方式将图像存储在内存中以及用户在这种情况下如何访问它们?

1 个答案:

答案 0 :(得分:3)

检查Jasper示例(源代码分发的一部分),它有一个'webapp'示例,展示了如何为此目的使用图像servlet。