- Compile the report in iReport
- Place the compiled report on the classpath
-
load it with
JasperReport jasperReport = (JasperReport) JRLoader.loadObject(inputStream);
-
Fill it with data.
dataSource
is theDataSource
instance you have – for example aBeanCollectionDataSource
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, params, dataSource);
-
Export it
JRPdfExporter exporter = new JRPdfExporter(); exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, outputStream); exporter.exportReport();
-
The
outputStream
above may be either aresponse.getOutputStream()
or aFileOutputStream()
, depending on whether you want to send it to a client or you want to store it as a file. If you want to send it to the client, you’d have to send theContent-Disposition
header, and some more, but that depends on the format you want to save to. In case you want to print on the client, it’s quite a different question – you’d need some client-side code, an applet, for example.