Просто попробуйте этот код:
FacesContext fc = FacesContext.getCurrentInstance();
ExternalContext ec = fc.getExternalContext();
HttpServletRequest request = (HttpServletRequest) ec.getRequest();
try
{
ITextRenderer renderer = new ITextRenderer();
SharedContext scontext=renderer.getSharedContext();
scontext.setDotsPerPixel(14);
renderer.setDocument(url);
renderer.getFontResolver().addFont("C:\\WINDOWS\\FONTS\\ARIALUNI.TTF", BaseFont.IDENTITY_H, true);
renderer.layout();
HttpServletResponse response = (HttpServletResponse) ec.getResponse();
response.reset();
response.setContentType("application/pdf");
response.setHeader("Content-Disposition", "inline; filename=\""+ fileName + ".pdf\"");
OutputStream os = response.getOutputStream();
renderer.createPDF(os);
os.close();
}
catch(Exception e)
{
e.printStackTrace();
}
fc.responseComplete();
и
<p:commandButton value="Print" action="#{manageBean.createPDFOfSurveyResult()}" ajax="false" onclick="this.form.target='_blank'"/>
Надеюсь на помощь