java - itext, Flying Saucer : xhtml to pdf ClassCastException

标签 java itext flying-saucer

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/

相关文章:

java - java play框架中的多对多关系

java - 在java中显示两个日期之间的天,小时,分钟

java - 批量重命名PDF文件中的PDF书签/大纲

java - Flying Saucer (xhtml渲染器): rendering € (euro) symbol in PDFs

java - 使用 Flying Saucer 打印时 DOM 创建的文档中不允许出现序言中的内容

java - 按位运算 Java - 长到二进制

java - 有人能告诉我如何让菜单栏在 Eclipse 中显示吗?

pdf - 如何确定PDF是横向还是纵向

c# - 转换图章页面时 PDF 到 PostScript 的转换速度很慢

Java URL 读取问题