• 11-02-2009, 18:05:41
    #1
    Üyeliği durduruldu
    jsf ile pdf rapor oluşturuyorum jsf de.


    1.seçenek olarak pdf dosyasını bir dizine kaydedip window.location ile sayfayı javascript eile yönlendirmek sureti ile pdf dosyayı gösteriyorum. ama bu durumda pdf dosyayı bilgisayara kaydetmem gerektigi için dosya kalabalığı oluyor içime sinen bir yöntem degil


    2. seçenek olarak ise ServletOutputStream ile header i content disposition yapip dosyayı çalışma halinde oluşturup hiç kadyetmeden gösteriyorum.

    ikinci yöntemi şu an kullanirken içimden jsf kullananlar servletle işi olmayan insanlardır kendimde bir tezatlık olması lazım herhalde diyorum

    Peki sizin konudaki tecrübeleriniz nedir bana ne önerirsiniz

    ilgilenenlere şimdiden teşekkürler
  • 13-02-2009, 09:27:40
    #2
    Üyeliği durduruldu
    kendi kendime konuşayim. kendi kendimin sorusunu yanitlayayim
    Daha sonra arayan arkadaşlara yardım sağlaması açısından şöyle bir kod oluşturdum;

    		try{		
    			JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(dataList);
    			JasperReport jasperReport;
    			JasperPrint jasperPrint;
    			HashMap jasperParameter = new HashMap();
    			ServletContext servletContext = (ServletContext) FacesContext.getCurrentInstance().getExternalContext().getContext();
    			String jrxmlFile = servletContext.getRealPath("") + File.separator + "rapor/deneme.jrxml";
    			JasperDesign jasperDesign = JRXmlLoader.load(jrxmlFile);
    			jasperReport = JasperCompileManager.compileReport(jasperDesign);
    			jasperPrint = JasperFillManager.fillReport(jasperReport,jasperParameter, ds);
    			byte[] outData = JasperExportManager.exportReportToPdf(jasperPrint);
    			FacesContext faces = javax.faces.context.FacesContext.getCurrentInstance();  
    			HttpServletResponse response = (HttpServletResponse) faces.getExternalContext().getResponse();
    			ServletOutputStream out = null; 
    			response.setContentType("application/pdf");  
    			response.setHeader("Content-disposition","attachment; filename=mernisformu.pdf");		
    			out = response.getOutputStream();
    			out.write(outData);    
    			faces.responseComplete();
    		}catch(JRException jr){
    			jr.printStackTrace();
    		}catch(IOException ioe){}
  • 14-02-2009, 02:54:25
    #3
    Tezim bitince ben pdf üzerine destekli oldukça gelişmiş bir yapı sunacam burada jsp+servlet +java +mysql+apache tomcat +pdf gibi konuları içeren..

    biraz daha beklemen gerekecek ama ,su anda yayın yapmadığımdan henüz yayınlayamıyorum bu bilgileri.
  • 17-02-2009, 12:09:57
    #4
    Üyeliği durduruldu
    DarKPeArL adlı üyeden alıntı: mesajı görüntüle
    Tezim bitince ben pdf üzerine destekli oldukça gelişmiş bir yapı sunacam burada jsp+servlet +java +mysql+apache tomcat +pdf gibi konuları içeren..
    biraz daha beklemen gerekecek ama ,su anda yayın yapmadığımdan henüz yayınlayamıyorum bu bilgileri.
    zaten yaptim üstad neyi beklim ki bide jsf ile ugrasiyorum jsp degil
  • 18-02-2009, 05:06:39
    #5
    sdemirkeser adlı üyeden alıntı: mesajı görüntüle
    zaten yaptim üstad neyi beklim ki bide jsf ile ugrasiyorum jsp degil

    Farkındayım jsf başlıktı zaten gördümde ben yinede yazayım dedim bitince eminim ufkuna birşeyler katacaktir

    Ama ben görmicem hayır kesinlikle bu sayfaya birdaha bakmicam senin açtığın her başlığa hiç dokunmicam diyorsan bişe diyemem tabi)))