无法在 spring 上生成 jasper 报告

Can't generate jasper report on spring

我正在尝试使用 JasperReports 生成 PDF 文件,但是,无论我如何尝试,它都会给我 NullPointerException。

https://community.jaspersoft.com/questions/520803/getting-null-pointer-exception-fillreport

尝试查看并更改了 jasper 属性文件,但它没有做任何事情,我仍然遇到同样的错误。

尝试过绝对路径、相对路径、以流形式获取资源,都没有

这是我用来生成报告的代码

public String generateInvoiceFor (Reservation reservation) throws JRException {

        JasperReport jasperReport = JasperCompileManager.compileReport("I:\anoranzaHopefullyFinal\src\main\resources\jasper\FacturaFinalFinal.jrxml");

        List<Reservation> reservations = reservationService.getAll();

        JRBeanCollectionDataSource jrBeanCollectionDataSource = new JRBeanCollectionDataSource(reservations);

        Map<String,Object> parameters = new HashMap<>();

        parameters.put("Idparam", reservation.getId());

        JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, jrBeanCollectionDataSource);

        JasperExportManager.exportReportToPdfFile(jasperPrint, "jasper/jasperOutput/Factura.pdf");

        return "Report successfully generated @path= jasper/jasperOutput/";



    }

检查您的数据源和 jasperPrint。如果没有问题试试这个。

JRPdfExporter exporter = new JRPdfExporter();
exporter.setExporterInput(new SimpleExporterInput(jasperPrint));
exporter.setExporterOutput(
  new SimpleOutputStreamExporterOutput("PDF NAME IS HERE.pdf"));

SimplePdfReportConfiguration reportConfig
  = new SimplePdfReportConfiguration();
reportConfig.setSizePageToContent(true);
reportConfig.setForceLineBreakPolicy(false);

SimplePdfExporterConfiguration exportConfig
   = new SimplePdfExporterConfiguration();
exportConfig.setMetadataAuthor("Auth name is here");
exportConfig.setEncrypted(true);
exportConfig.setAllowedPermissionsHint("PRINTING");

exporter.setConfiguration(reportConfig);
exporter.setConfiguration(exportConfig);

exporter.exportReport();