Я использую библиотеку Jasper Report для экспорта файла PDF, результатом является файл PDF пустым через файл JRXML простой привет мир.Это мой генератор кода PDF:
@Override
public byte[] generatePDFReport(String inputFileName, Map<String, Object> params, JRDataSource dataSource) {
byte[] bytes = null;
JasperReport jasperReport = null;
try (ByteArrayOutputStream byteArray = new ByteArrayOutputStream()) {
// Check if a compiled report exists
if (storageService.jasperFileExists(inputFileName)) {
jasperReport = (JasperReport) JRLoader.loadObject(storageService.loadJasperFile(inputFileName));
}
// Compile report from source and save
else {
String jrxml = storageService.loadJrxmlFile(inputFileName);
jasperReport = JasperCompileManager.compileReport(jrxml);
// Save compiled report. Compiled report is loaded next time
JRSaver.saveObject(jasperReport, storageService.loadJasperFile(inputFileName));
}
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, params, dataSource);
// return the PDF in bytes
bytes = JasperExportManager.exportReportToPdf(jasperPrint);
} catch (JRException | IOException e) {
log.error("Encountered error when loading jasper file", e);
}
return bytes;
}
@Override
public byte[] generatePDFReport(String inputFileName, Map<String, Object> params) {
return generatePDFReport(inputFileName, params, new JREmptyDataSource());
}
И я проверяю с помощью oracle jdk:
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)
Можете ли вы рассказать о моей проблеме и как ее исправить?