ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
if (jasperPrint == null) {
throw new ReportingException("jasperPrint null, can't convert to HTML report");
}
try {
JRHtmlExporter jrHtmlExporter = new JRHtmlExporter();
jrHtmlExporter.setParameter(JRHtmlExporterParameter.JASPER_PRINT, jasperPrint);
jrHtmlExporter.setParameter(JRHtmlExporterParameter.IS_USING_IMAGES_TO_ALIGN, true);
// To generate a HTML report we want configure ImageServlet in component.xml file of reporting UI bundle
// Then want to set the IMAGES_URI parameter
jrHtmlExporter.setParameter(JRHtmlExporterParameter.IMAGES_URI, "../servlets/image?image=");
// remove empty spaces
jrHtmlExporter.setParameter(JRHtmlExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS, Boolean.TRUE);
jrHtmlExporter.setParameter(JRHtmlExporterParameter.IS_WHITE_PAGE_BACKGROUND, Boolean.TRUE);
jrHtmlExporter.setParameter(JRHtmlExporterParameter.OUTPUT_STREAM, outputStream);
jrHtmlExporter.exportReport();
} catch (JRException e) {
throw new JRException("Error occurred exporting HTML report ", e);
}
return outputStream;