代码如下:
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 );