public void createPDF() {
FacesContext facesContext = FacesContext.getCurrentInstance();
ExternalContext externalContext = facesContext.getExternalContext();
HttpSession session = (HttpSession) externalContext.getSession(true);
String url = "http://localhost:8080/comap/pages/admin/student.xhtml";
try {
ITextRenderer renderer = new ITextRenderer();
renderer.setDocument(url);
renderer.layout();
HttpServletResponse response = (HttpServletResponse) externalContext.getResponse();
response.reset();
response.setContentType("application/pdf");
response.setHeader("Content-Disposition","C://user//first.pdf");
java.io.OutputStream browserStream = response.getOutputStream();
renderer.createPDF(browserStream);
browserStream.close();
session.invalidate();
} catch (Exception ex) {
ex.printStackTrace();
}
facesContext.responseComplete();
}
这是一个异常(exception)..
java.lang.ClassCastException: org.xhtmlrenderer.render.BlockBox cannot be cast to org.xhtmlrenderer.newtable.TableBox
最佳答案
这个commit已解决该问题。您可以download the Class并将其放在 src 目录中,这样您就不必重建 jar。
关于java - itext, Flying Saucer : xhtml to pdf ClassCastException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30213697/