2010-11-24 56 views
3

我正在嘗試將HTML導出引入基於JasperReports的報表引擎。 HTML文檔生成的很好,但問題從包含圖像時開始。與PDF相比,圖像不是HTML的一部分。如何將JasperReport導出爲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的自動生成並保存在此「圖片」文件夾中。它們也被HTML文件正確引用。

問題是圖像在文件夾中保存得太晚,用戶需要刷新已收到的HTML頁面才能看到它們。這真的不太好,我也不明白爲什麼圖像應該保存,因爲它們是由JasperReports自動生成的。

我該如何告訴JasperReports以某種方式將圖像存儲在內存中以及用戶在這種情況下如何訪問它們?

回答

3

檢查Jasper示例(源代碼發佈的一部分),它有一個'webapp'示例,顯示如何使用圖像servlet來實現此目的。

相關問題