Esto lo logro con esta lineas.
Código Java:
Ver original
public void imprimir(){ try { PdfWriter.getInstance(document, baos); ArticuloServiceDao articuloServiceDao = new ArticuloServiceDaoImpl(); List<Articulo> articulos = articuloServiceDao.listado(); document.open(); document.add(new Paragraph(titulo)); document.add(new Paragraph(stitulo)); PdfPTable table = new PdfPTable(5); table.setTotalWidth(new float[]{30, 350, 90,50,40}); table.setLockedWidth(true); PdfPCell cell = new PdfPCell(new Paragraph("Articulo \n", cell.setColspan(5); // table.addCell(cell); table.addCell("Id."); table.addCell("Descripcion"); table.addCell("Rubro"); table.addCell("Precio"); table.addCell("Stock"); for (int i = 0; i < articulos.size(); i++) { Articulo a = articulos.get(i); table.addCell(a.getArtDescripcion()); table.addCell(a.getRubro().getRubNombre()); } document.add(table); } document.close(); FacesContext context = FacesContext.getCurrentInstance(); if (response instanceof HttpServletResponse) { HttpServletResponse hsr = (HttpServletResponse) response; hsr.setContentType("application/pdf"); hsr.setHeader("Content-disposition", "attachment" ); hsr.setContentLength(baos.size()); try { ServletOutputStream out = hsr.getOutputStream(); baos.writeTo(out); out.flush(); } context.responseComplete(); } }
Esto solo me funciona con firefox, no con chrome.
Ahora quiero realizar un reporte de factura, pero para eso debo mandar un parametro que seria el nro De Factura, pero no encuentro nada en internet que me ayude hacer eso.
Espero una pronta respuesta.
Trabajando con iText, no me convence del todo que cuando trabajaba con iReport, donde yo mismo realizaba el diseño ademas de exportar a pdf al mismo tiempo, cual es recomendable en reportes para jsf.
Mientras tanto revisare un poco de documentacion de apache poi.