JasperReports:导出为HTML时包含base64编码的图表图像

时间:2018-07-09 09:43:05

标签: jasper-reports

任务:将Jasper报告(准确地说是JasperPrint的一个实例)导出到嵌入了图表图像的HTML。

目前有效的解决方案:

private byte[] getHtmlReport(JasperPrint abstractFilledReport) throws JRException {
    HtmlExporter exporter = new HtmlExporter();

    ByteArrayOutputStream out = new ByteArrayOutputStream();

    // Configure exporters IO
    exporter.setExporterInput(new SimpleExporterInput(abstractFilledReport));
    exporter.setExporterOutput(new SimpleHtmlExporterOutput(out));

    writeHtmlReport(abstractFilledReport);

    EmbeddedHtmlConfiguration exporConfig = new EmbeddedHtmlConfiguration();
    exporter.setConfiguration(exporConfig);

    // Write report to OutputStream
    exporter.exportReport();

    return out.toByteArray();
  }

static class EmbeddedHtmlConfiguration extends SimpleHtmlReportConfiguration{
    @Override
    public
    Boolean isEmbedImage(){
      return Boolean.valueOf(true);
    }
  }

问题:除了编写一个仅用于调整单个属性的额外类之外,还有其他更优雅的方法吗?

0 个答案:

没有答案