I have a report to be exported in excel, pdf and word using jasper reports. I use xml file as the DataSource for the report, but when the data increases jasper report exports empty file in only for PDF format, when i reduce the data content it export the data available correctly. is there any limitation to pdf size? , how can we manage the size in jasper reports from java?
My jrxml is really big, so i cannot add it here, i have added my java code which i use to export the content:
JRAbstractExporter exporter = null;
if (format.equals("pdf")) {
exporter = new JRPdfExporter();
jasperPrint.setPageWidth(Integer.parseInt(pWidth));
} else if (format.equals("xls")) {
exporter = new JRXlsExporter();
} else if (format.equals("doc")) {
jasperPrint.setPageWidth(Integer.parseInt(pWidth));
}
exporter.setParameter(JRExporterParameter.JASPER_PRINT,
jasperPrint);
exporter.setParameter(JRExporterParameter.OUTPUT_STREAM,
outputStream_);
exporter.exportReport();
contents = outputStream_.toByteArray();
response.setContentType("application/" + format);
response.addHeader("Content-disposition",
"attachment;filename=" + name.toString() + "." + format);
The best way to format in jasper report is to use the pattern attribute on the textField tag. This will keep correct class (Number), when exporting to for example excel, excel can identify it as number and will also apply same pattern.
When there is no date source you can try this code
jasperReport = JasperCompileManager.compileReport(sourceFileName);
jasperPrint = JasperFillManager.fillReport(jasperReport,jasperParameter,new JREmptyDataSource());
JasperExportManager.exportReportToPdfFile(jasperPrint, "D://.pdf")
Even if you do not have any data source and its a static data report giving JREmptyDataSource is important, otherwise you may get a blank report.
Check this link for more info https://stackoverflow.com/a/5334415/649451
-- Cheers!
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With