I want to create a PDF based on Primefaces and OpenHTMLPDF:
I have issues with the converting to my private org.primefaces.model.StreamedContent pdfTemplate;
So I need help for the last 2 code lines I guess:
ExternalContext externalContext = facesContext.getExternalContext();
String serverName = externalContext.getRequestServerName();
String port = String.valueOf(externalContext.getRequestServerPort());
String appName = externalContext.getRequestContextPath();
String protocol = externalContext.getRequestScheme();
String url = protocol + "://myurl.com";
HttpServletResponse response = (HttpServletResponse) externalContext.getResponse();
response.reset();
response.setContentType("application/pdf");
response.setHeader("Content-Disposition", "inline; filename=\"" + "pdfTemplate.pdf" + "\"");
OutputStream browserStream = response.getOutputStream();
PdfRendererBuilder builder = new PdfRendererBuilder();
builder.useFastMode();
builder.withUri(new URL(url).toString());
builder.toStream(browserStream);
builder.run();
FileInputStream fis = new FileInputStream(new File("C:\\samplexxx.pdf"));
pdfTemplate = new DefaultStreamedContent(fis, "application/pdf");
Is there also an enhancement needed? Close stream e.g. etc? Do I have to do something more for PdfRendererBuilder (change settings) ? Many thanks