mishra_rahul_kr Posted March 17, 2009 Share Posted March 17, 2009 Hi,I am getting strange error while exporting the report as PDF file. Other export as XML and HTML works fine.The error I get is in XLS and PDF export only the error for PDF export isPDF Pages1 :[net.sf.jasperreports.engine.base.JRBasePrintPage@1d0d45b]java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 at java.util.ArrayList.RangeCheck(Unknown Source) at java.util.ArrayList.get(Unknown Source) at com.lowagie.text.pdf.PdfStructureTreeRoot.nodeProcess(Unknown Source) at com.lowagie.text.pdf.PdfStructureTreeRoot.nodeProcess(Unknown Source) at com.lowagie.text.pdf.PdfStructureTreeRoot.nodeProcess(Unknown Source) at com.lowagie.text.pdf.PdfStructureTreeRoot.nodeProcess(Unknown Source) at com.lowagie.text.pdf.PdfStructureTreeRoot.nodeProcess(Unknown Source) at com.lowagie.text.pdf.PdfStructureTreeRoot.buildTree(Unknown Source) at com.lowagie.text.pdf.PdfWriter.getCatalog(Unknown Source) at com.lowagie.text.pdf.PdfWriter.close(Unknown Source) at com.lowagie.text.pdf.PdfDocument.close(Unknown Source) at com.lowagie.text.Document.close(Unknown Source) at net.sf.jasperreports.engine.export.JRPdfExporter.exportReportToStream(JRPdfExporter.java:558) at net.sf.jasperreports.engine.export.JRPdfExporter.exportReport(JRPdfExporter.java:350) at com.spacetimeinsight.stas.reports.sample.TableApp.generatePdfReport(TableApp.java:60) at com.spacetimeinsight.stas.reports.sample.TableApp.main(TableApp.java:24)The code used is belowLibrary used are jasperreports-3.1.2.jar and iText-2.1.0.jar and JDK verion is JDK 1.5.0_15. Pdf file generated is 0 bites.Please advise what is wrong with it. Any help will be appreciated. RegardsRahul Code:public class TableApp{ public static void main(String[] args){ String fileName = "TableReport.jasper"; generatePdfReport(fileName); } public static void generatePdfReport(String fileName){ try { JRBeanArrayDataSource beansDS = new JRBeanArrayDataSource(getBeans(10)); InputStream is = getResourceStream(fileName); JasperPrint jasperPrint = JasperFillManager.fillReport(is, null, beansDS); System.out.println("Total Pages :" + jasperPrint.getPages()); JasperExportManager.exportReportToXmlFile(jasperPrint, "test.xml", false); System.out.println("XML Pages :" + jasperPrint.getPages()); JasperExportManager.exportReportToHtmlFile(jasperPrint, "test.html"); System.out.println("HTML Pages :" + jasperPrint.getPages()); // 3- export to Excel sheet /* JRXlsExporter exporter = new JRXlsExporter(); exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint); exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, "C://test.xls" ); exporter.exportReport(); */ System.out.println("Excel Pages :" + jasperPrint.getPages()); System.out.println("PDF Pages1 :" + jasperPrint.getPages()); JRPdfExporter exporter = new JRPdfExporter(); exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint); exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, "test.pdf" ); exporter.exportReport(); //JasperExportManager.exportReportToPdfFile(jasperPrint, "test.pdf"); System.out.println("PDF Pages2 :" + jasperPrint.getPages()); }catch (JRException e){ e.printStackTrace(); }catch (Exception e){ e.printStackTrace(); } } public static InputStream getResourceStream(String fileName) { return TableApp.class.getClassLoader().getResourceAsStream(fileName); } private static TableBean[] getBeans(int count){ TableBean[] beans = new TableBean[count]; for(int i=0;i<count;i++){ beans[i] = new TableBean("Field1-"+i,"Field2-"+i,"Field3-"+i,"Field4-"+i,"Field5-"+i); } return beans; }} Link to comment Share on other sites More sharing options...
Teodor Danciu Posted October 8, 2009 Share Posted October 8, 2009 Hi, It would be good to see the JRXML.I think this might be related to the PDF Section 508 Compliance tags, if you have used them inside your report template. Thank you,Teodor Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now