0

PDF download not work in Ipad and Iphone

asked 2014-05-12 10:43:52 +0800

sathishk gravatar image sathishk
17 5

updated 2014-05-13 05:40:52 +0800

Hai,

I am work on export PDF,it's working properly in system, but if i try on ipad and iphone doesn't work, what is the issue,please help.

Below given code for export pdf.

@Listen("onClick=#export_pdf") public void exportGrid() throws Exception { System.out.println("Eneter PdfReport"); String openReport = (String) Sessions.getCurrent().getAttribute("openReport");

    System.out.println("Report open :- - "+openReport);
    ByteArrayOutputStream bytesOutputStream = new ByteArrayOutputStream();
    BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(bytesOutputStream);
    JasperReport  jasperReport = (JasperReport) JRLoader.loadObject("C:\\NovelERP\\reports\\"+openReport+".jasper");
    /*JasperReport  jasperReport = (JasperReport) JRLoader.loadObject("E:\\websites\\gplcrmnew\\NovelERP\\reports\\"+openReport+".jasper");*/
    System.out.println("Enter In To Jasper1"+jasperReport);
    Map params=new HashMap();

    Connection connection= DB.getConnectionRW();


        PreparedStatement pstmt = null,pstmt2=null,pstmt3=null;
        ResultSet rs = null,rs2=null,rs3=null;
        Date DateFrom,DateTo;

        try{
            String sql = "select nv_customer_id,customercode from nv_customer where customercode = '"+CustomerCode+"'";
            pstmt = DB.prepareStatement(sql, null);
            rs=pstmt.executeQuery();
            rs.next();

            params.put("NV_Customer_ID", rs.getString("customercode"));
        }
        catch(SQLException e){
            e.printStackTrace();
        }
        finally{
            DB.close(rs, pstmt);
        }

        String session = Sessions.getCurrent().getAttribute("reportsession").toString();
        System.out.println("session408:-"+session);
        try
        {
            String sessionquery = "select sessionid,customercode from t_statementofaccount where customercode= '"+CustomerCode+"'" +
                                " and sessionid='"+session+"'";

            System.out.println("session query:----"+sessionquery);
            pstmt3 = DB.prepareStatement(sessionquery, null);
            rs3=pstmt3.executeQuery();
            rs3.next();

            params.put("Session_ID", rs3.getString("sessionid"));
        }
        catch(SQLException e1)
        {
            e1.printStackTrace();
        }
        finally{
            DB.close(rs2, pstmt2);
        }

        //for projectcode
        try
        {
            String projectcode = " Select distinct vbak.vkorg as projectcode from nv_vbpa_sap vbpa " +
                                    " INNER JOIN nv_vbak_sap vbak ON (vbpa.vbeln=vbak.vbeln)" +
                                    " INNER JOIN nv_vbap_sap vbap ON (vbak.vbeln = vbap.vbeln)" +
                                    " WHERE vbpa.kunnr='"+CustomerCode+"' AND vbpa.parvw='RG' AND vbap.posnr=10 AND vbak.AUART IN ('ZG01','ZG03','ZG04') ";

            System.out.println("Running qury:----"+projectcode);
            pstmt2 = DB.prepareStatement(projectcode, null);
            rs2=pstmt2.executeQuery();
            rs2.next();
            System.out.println("project Code:-"+rs2.getString("projectcode"));
            params.put("projectcode", rs2.getString("projectcode"));
        }
        catch(SQLException e1)
        {
            e1.printStackTrace();
        }
        finally{
            DB.close(rs2, pstmt2);
        }

        DateFrom = fromDate1.getValue();
        DateTo = toDate1.getValue();
        System.out.println("Date from -------- "+DateFrom +"lskmdflkmfd "+ DateTo);
        params.put("DateFrom", DateFrom);
        params.put("DateTo", DateTo);

        if(fromDate1.getValue()!=null && toDate1.getValue()!=null)
        {
            System.out.println("Enter Report Fields:-");
            DateFrom = fromDate1.getValue();
            System.out.println("DateFrom3333:-"+DateFrom);
            DateTo = toDate1.getValue();
            System.out.println("DateTo33333:-"+DateTo);
            params.put("DateFrom", DateFrom);
            params.put("DateTo", DateTo);
            System.out.println("1111111111111"+params.get("DateFrom"));
            System.out.println("222222222222"+params.get("DateTo"));
        }else
            if(fromDate1.getValue()!=null)
            {
                System.out.println("Enter Report Fields2222:-");
                DateFrom = fromDate1.getValue();
                params.put("DateFrom",DateFrom);
            }
            else
                if(toDate1.getValue()!=null)
                {
                    System.out.println("Enter Report Fields222233333:-");
                    DateTo = toDate1.getValue();
                    params.put("DateTo",DateTo);
                }
    HttpSession  httpsession = (HttpSession)(Executions.getCurrent()).getDesktop().getSession().getNativeSession();
    String sessionID = httpsession.getId()+Sessions.getCurrent().getAttribute("ReportTime");


     JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, params, connection);
      System.out.println("Enter In To Jasper");
        //Jasperreport jasperPrint =new Jasperreport("/home/user/Desktop/Godrej/godrejportal_new/26 SEPT/Financial Summary Report.jrxml");
        JRExporter exporter = new net.sf.jasperreports.engine.export.JRPdfExporter();
        exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
        exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, bufferedOutputStream);
        exporter.exportReport();
         System.out.println("Enter In To Jasper4444");
        InputStream mediais = new ByteArrayInputStream(bytesOutputStream.toByteArray());
        System.out.println("mediais jasper:-"+mediais);

        AMedia amedia = new AMedia(openReport+".pdf", "pdf", "application/pdf", mediais);
        Filedownload.save(amedia); 

        bytesOutputStream.close();
        connection.close();
        bufferedOutputStream.close();
}

It's work code on inputstream, after statment not excuted,please help me.

delete flag offensive retag edit
Be the first one to answer this question!
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
1 follower

RSS

Stats

Asked: 2014-05-12 10:43:52 +0800

Seen: 16 times

Last updated: May 13 '14

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