0

Show file pdf result of mergers pdf

asked 2012-10-18 04:15:13 +0800

onsir gravatar image onsir
132 2

Hi, all

I want to show of pdf file reports, The report has two reports is summary report and detail.

I was able to export to pdf process, and merger into one file pdf using iText, with name merge.pdf

but when i show to browser i get error
this my code


public class Report extends SelectorComposer<Component> {

        public void showReport(Event evt, InputStream isSummary, InputStream isDetail,  Map params,
                                JRDataSource dataSourceSummary, JRDataSource dataSourceDetail,
                                String summaryFileRptName,String detailFileRptName,  String typeFile ) throws IOException {
           
            Iframe showreport=new Iframe();
            byte[] buf =null;
            AMedia amedia=null;
            InputStream mediais=null;
            List<InputStream> pdfs = new ArrayList<InputStream>();
            OutputStream output=null;

            ByteArrayOutputStream arrayOutputStream = new ByteArrayOutputStream();
            JRExporter exporterPdf = new JRPdfExporter();
            JasperPrint jasperPrintSuma=new JasperPrint();
           JasperPrint jasperPrintDeta=new JasperPrint();

           String[] pdfFile;
           String nameFilePdfSuma;
           String nameFilePdfDeta;

            try{

                    
                   pdfFile=new String[2];

                   //save file name report
                   pdfFile[0]= "summaryFileRptName";
                   pdfFile[1]= "detailFileRptName";

                   nameFilePdfSuma="C:\\"+pdfFile[0]+".pdf";
                   nameFilePdfDeta="C:\\"+pdfFile[1]+".pdf";

                  jasperPrintSuma =JasperFillManager.fillReport(isSummary ,params, dataSourceSummary);
                  jasperPrintDeta = JasperFillManager.fillReport(isDetail ,params, dataSourceDetail);

                 JasperExportManager.exportReportToPdfFile(jasperPrintSuma,nameFilePdfSuma);
                 JasperExportManager.exportReportToPdfFile(jasperPrintDeta,  nameFilePdfDeta);

                   if(pdfFile.length>0){
                        // merge file pdf
                        for(int j=0; j<pdfFile.length;j++){
                            nameFilePdf="C:\\"+pdfFile+".pdf";
                            pdfs.add(new FileInputStream(namaFilePdf));
                        }

                        namaFileMergePdf="Merge.pdf";
                        output = new FileOutputStream("C:\\"+namaFileMergePdf);
                        MergePDF.concatPDFs(pdfs, output, true);
                   }

                //buf =JasperRunManager.runReportToPdf(is, params,dataSource);

                fileRptName="C:\\"+namaFileMergePdf;

                 mediais = new ByteArrayInputStream(null); //buf 

                 amedia =new AMedia(fileRptName, "pdf","application/pdf", mediais);

                }




            }catch(Exception e){
                e.printStackTrace();
            }finally{
                arrayOutputStream.close();
                buf =null;
                amedia=null;
                mediais=null;

            }

        }


error
java.lang.NullPointerException
        at java.io.ByteArrayInputStream.<init>(ByteArrayInputStream.java:106)
        at  controller.report.Report.showReport(Unknown Source)
        at  controller.zk.inventory.ReportController.onBtnClickPrint(ReportController.java:865)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)


        at java.lang.reflect.Method.invoke(Method.java:601)
        at org.zkoss.zk.ui.event.GenericEventListener.onEvent(GenericEventListener.java:88)
        at org.zkoss.zk.ui.AbstractComponent.onEvent(AbstractComponent.java:2741)
        at org.zkoss.zk.ui.AbstractComponent.service(AbstractComponent.java:2712)
        at org.zkoss.zk.ui.AbstractComponent.service(AbstractComponent.java:2653)
        at org.zkoss.zk.ui.impl.EventProcessor.process(EventProcessor.java:136)
        at org.zkoss.zk.ui.event.Events.sendEvent(Events.java:308)
        at org.zkoss.zk.ui.event.Events.sendEvent(Events.java:331)
        at org.zkoss.zk.ui.AbstractComponent$ForwardListener.onEvent(AbstractComponent.java:3179)
        at org.zkoss.zk.ui.AbstractComponent.onEvent(AbstractComponent.java:2741)
        at org.zkoss.zk.ui.AbstractComponent.service(AbstractComponent.java:2712)
        at org.zkoss.zk.ui.AbstractComponent.service(AbstractComponent.java:2653)
        at org.zkoss.zk.ui.impl.EventProcessor.process(EventProcessor.java:136)
        at org.zkoss.zk.ui.impl.UiEngineImpl.processEvent(UiEngineImpl.java:1699)
        at org.zkoss.zk.ui.impl.UiEngineImpl.process(UiEngineImpl.java:1484)
        at org.zkoss.zk.ui.impl.UiEngineImpl.execUpdate(UiEngineImpl.java:1201)
        at org.zkoss.zk.au.http.DHtmlUpdateServlet.process(DHtmlUpdateServlet.java:558)
        at org.zkoss.zk.au.http.DHtmlUpdateServlet.doGet(DHtmlUpdateServlet.java:456)
        at org.zkoss.zk.au.http.DHtmlUpdateServlet.doPost(DHtmlUpdateServlet.java:464)

        at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)
        at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:964)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)
        at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:722)


thanks

delete flag offensive retag edit
Be the first one to reply this discussion!
Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!

[hide preview]

Question tools

Follow

RSS

Stats

Asked: 2012-10-18 04:15:13 +0800

Seen: 97 times

Last updated: Oct 18 '12

Support Options
  • Email Support
  • Training
  • Consulting
  • Outsourcing
Learn More