private void sendPdfResponse(byte[] pdfData) FacesContext context = FacesContext.getCurrentInstance(); HttpServletResponse response = (HttpServletResponse) context.getExternalContext().getResponse(); response.setContentType("application/pdf"); response.setHeader("Content-Disposition", "attachment; filename=\"output.pdf\""); response.setContentLength(pdfData.length); try response.getOutputStream().write(pdfData); context.responseComplete(); catch (IOException e) e.printStackTrace();
for (MyData item : data) table.addCell(item.getName()); table.addCell(String.valueOf(item.getValue())); table.addCell(item.getDate().toString()); convertir jsf a pdf
// Add content document.add(new Paragraph("Report from JSF")); catch (IOException e) e.printStackTrace()
public void convertToPdf() throws Exception FacesContext facesContext = FacesContext.getCurrentInstance(); // Get current JSF view HTML as String String htmlContent = captureCurrentViewAsHtml(facesContext); // Convert HTML to PDF ByteArrayOutputStream pdfStream = new ByteArrayOutputStream(); ITextRenderer renderer = new ITextRenderer(); renderer.setDocumentFromString(htmlContent); renderer.layout(); renderer.createPDF(pdfStream); // Send PDF response sendPdfResponse(pdfStream.toByteArray()); for (MyData item : data) table.addCell(item.getName())
import com.lowagie.text.*; import com.lowagie.text.pdf.PdfPTable; public void generatePdfFromData(List<MyData> data) Document document = new Document(); ByteArrayOutputStream out = new ByteArrayOutputStream(); PdfWriter.getInstance(document, out); document.open();