Hi all, I have another question
In Struts I do this for join 2 jasperreport pdfs:
PdfReader reader1 = new PdfReader(bytes);
PdfReader reader2 = new PdfReader(bytes2);
PdfCopyFields copy =
new PdfCopyFields(new
FileOutputStream(context.getRealPath("/reportes/Calificación
de Derechos por Beneficio
Familiar - Resolución Nº " +
beneficioForm.getNumeroResolucionBeneficio() + ".pdf")));
copy.addDocument(reader1);
copy.addDocument(reader2);
copy.close();
How can I do that with JSF, thanks!!
On Jan 2, 2008 3:36 PM, daniel ccss <[EMAIL PROTECTED]> wrote:
> 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??
> >
> >
>