Convertir | Jsf A Pdf
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();
document.add(table); document.close();
// Navigate to your JSF page URL session.getPage().enable(); session.getPage().navigate("http://localhost:8080/app/page.xhtml"); session.getPage().waitForLoadEvent(); convertir jsf a pdf
// Generate PDF byte[] pdf = session.getPage().printToPDF(); catch (IOException e) e.printStackTrace()
private String captureCurrentViewAsHtml(FacesContext context) throws IOException // Alternative: Use a custom PhaseListener or render via URL // Simpler: Re-render the component tree to a buffer UIViewRoot viewRoot = context.getViewRoot(); ResponseWriter originalWriter = context.getResponseWriter(); StringWriter stringWriter = new StringWriter(); context.setResponseWriter(context.getRenderKit().createResponseWriter( stringWriter, "text/html", "UTF-8")); viewRoot.encodeAll(context); context.responseComplete(); String html = stringWriter.toString(); context.setResponseWriter(originalWriter); return html; ResponseWriter originalWriter = context.getResponseWriter()