Jasper报告导出为base64字符串



代码如下:

JasperPrint print = JasperFillManager.fillReport(reportsrc, Param, conn);
JRExporter exporter = new JRPdfExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT, print);
exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, outputFile);
exporter.exportReport();

可以很好地将PDF文件输出到物理文件夹。我想要的是导出pdf作为base64字符串。有什么办法吗?

感谢

我通过下面的代码让它工作:

final ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
JasperPrint print = JasperFillManager.fillReport(reportsrc, Param, conn);
JRExporter exporter = new JRPdfExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT, print);
exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, outputStream);
exporter.exportReport();
byte[] output = outputStream.toByteArray();
String pdfbase64 = Base64.getEncoder().encodeToString(output);
System.out.println("pdf: "+pdfbase64 );

最新更新