- commons-beanutils-1.9.2.jar
- commons-collections-3.2.jar
- commons-digester-2.1.jar
- commons-logging-1.2.jar
- itext-2.1.7.jar
- jasperreports-5.6.0.jar
You can download from this link : https://drive.google.com/file/d/0B3BD2OiyeQ3UQWN2Nk82R1dhYmM/edit?usp=sharing
After download the .jar files, put those .jar file to the /lib folder. Then I use this code in my controller :
import net.sf.jasperreports.engine.JRException; import net.sf.jasperreports.engine.JRExporter; import net.sf.jasperreports.engine.JRExporterParameter; import net.sf.jasperreports.engine.JasperCompileManager; import net.sf.jasperreports.engine.JasperFillManager; import net.sf.jasperreports.engine.JasperPrint; import net.sf.jasperreports.engine.export.JRPdfExporter; class LabController { def dataSource def print() { try { String reportName, namaFile, dotJasper namaFile = "barang" reportName = grailsApplication.mainContext.getResource('reports/' + namaFile + '.jrxml').file.getAbsoluteFile() dotJasper = grailsApplication.mainContext.getResource('reports/' + namaFile + '.jasper').file.getAbsoluteFile() // Report parameter MapreportParam = new HashMap () // compiles jrxml JasperCompileManager.compileReportToFile(reportName); // fills compiled report with parameters and a connection JasperPrint print = JasperFillManager.fillReport(dotJasper, reportParam, dataSource.getConnection()); ByteArrayOutputStream pdfStream = new ByteArrayOutputStream(); // exports report to pdf JRExporter exporter = new JRPdfExporter(); exporter.setParameter(JRExporterParameter.JASPER_PRINT, print); exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, pdfStream); // your output goes here exporter.exportReport(); } catch (Exception e) { throw new RuntimeException("It's not possible to generate the pdf report.", e); } finally { render(file: pdfStream.toByteArray(), contentType: 'application/pdf') } } }