THANKS!!!

I used the JRPdfExporter and the context.responseComplete(); and all works
for me :)

Thanks again!!! :)

On Jan 2, 2008 10:18 PM, Robert Stokes <[EMAIL PROTECTED]> wrote:

> Here is the method I use to create a PDF from Jasper reports, one think
> that might be missing is the call to responseComplete().
>
>   private void exportPdfReport(InputStream reportInputStream, String
> filename)
>   {
>      try
>      {
>         Map parameters = createParams();
>         Connection connection = getCurrentConnection();
>         JasperPrint jasperPrint =
> JasperFillManager.fillReport(reportInputStream, parameters, connection);
>         FacesContext context = FacesContext.getCurrentInstance();
>         HttpServletResponse response = (HttpServletResponse)
> context.getExternalContext().getResponse();
>         response.setContentType("application/pdf");
>         response.setHeader("Content-disposition", "Attachment; filename="
> + filename + ".pdf");
>         OutputStream outputStream = response.getOutputStream();
>         JRPdfExporter exporterPdf = new JRPdfExporter();
>         exporterPdf.setParameter(JRPdfExporterParameter.JASPER_PRINT,
> jasperPrint);
>         exporterPdf.setParameter(JRPdfExporterParameter.OUTPUT_STREAM,
> outputStream);
>         exporterPdf.exportReport();
>         connection.close();
>         context.responseComplete();
>      }
>
> Hope this helps
>
> Rob
>
>
>
> "daniel ccss" <[EMAIL PROTECTED]> wrote on 01/02/2008 01:31:21 PM:
>
> > Hi all, I`m using JSF and JasperReports
> >
> > All works fine, i mean no error is launch, but when the pdf was
> > generated and I opened it with Adobe I couldn`t open it. Then I
> > opened it with textpad and I saw that the pdf have the code of the
> jsp!!!!
> >
> > This is my code (cuposAsignados is the arrayListthat contains the
> > objects that will be showing in the pdf report, and the class
> > CuposAsignadosJasper is the class that implements JRDataSource, in
> > this case the report no recived parameters) :
> >
> >
>
> ****************************************************************************************
> > This is the Backing Bean Class that create the report:
> >
> > FacesContext facesContext = FacesContext.getCurrentInstance();
> > ServletContext servletContext = (ServletContext) facesContext.
> > getExternalContext().getContext();
> > File reportFile = new File(servletContext.
> > getRealPath("/reportes/cuposAsignados.jasper"));
> > InputStream reporte = new FileInputStream(reportFile);
> > CuposAsignadosJasper cuposAsignadosJasper =  new CuposAsignadosJasper
> > (cuposAsignados);
> > HashMap param = new HashMap();
> > JasperPrint jp = JasperFillManager.fillReport(reporte, param,
> > cuposAsignadosJasper);
> > byte[] bytes = JasperExportManager.exportReportToPdf(jp);
> >
> > HttpServletResponse response = (HttpServletResponse) facesContext.
> > getExternalContext().getResponse();
> > response.setContentType("application/pdf");
> > response.setHeader("Content-disposition", "attachment;
> > filename=\"cuposAsignados.pdf\"");
> > ServletOutputStream ouputStream = response.getOutputStream();
> > ouputStream.write(bytes, 0, bytes.length);
> > ouputStream.close();
> >
> >
>
> ****************************************************************************************
> > This is the class CuposAsignadosJasper
> >
> > public class CuposAsignadosJasper implements JRDataSource{
> >     private Iterator iterator;
> >     private Cupo cupo;
> >
> >    public Object getFieldValue(JRField arg0) throws JRException {
> >         if ("conCupo".equals(arg0.getName()))
> >             return String.valueOf(cupo.getConCupo());
> >         else if ("fecCupo".equals(arg0.getName()))
> >             return cupo.getFecCupo().toUpperCase();
> >         else if ("horaCompleta".equals(arg0.getName()))
> >             return cupo.getHoraCompleta().toUpperCase();
> >         return 0;
> >     }
> >     public boolean next() throws JRException {
> >         if (iterator.hasNext()) {
> >             cupo = (Cupo)iterator.next();
> >             return true;
> >         } else
> >             return false;
> >     }
> >     public CuposAsignadosJasper(ArrayList<Cupo> cuposAsignados) {
> >         iterator = cuposAsignados.listIterator();
> >     }
> > }
> >
>
> ****************************************************************************************
> >
> > All works fine but what the generated pdf have is the JSP code that
> > create it, is very strange, can anyone help me??
>
>

Reply via email to