【问题标题】:itext, Flying Saucer: xhtml to pdf ClassCastExceptionitext,飞碟:xhtml 到 pdf ClassCastException
【发布时间】:2015-05-13 11:38:32
【问题描述】:
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();
}

这里是个例外..

java.lang.ClassCastException: org.xhtmlrenderer.render.BlockBox 不能转换为 org.xhtmlrenderer.newtable.TableBox

【问题讨论】:

  • 太棒了。现在只需添加抛出异常的确切位置,您的问题是什么,预期的输出是什么......你知道的,标准的东西。
  • 看起来像 XHTML 中的数据错误。在更小的 XHTML 文件上运行上述代码,直到找到导致错误的 XML。验证 XHTML。

标签: java itext flying-saucer


【解决方案1】:

commit 已解决此问题。您可以download the Class 并将其放在您的 src 目录中,这样您就不必重新构建 jar。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-07
    • 2013-07-30
    • 1970-01-01
    • 1970-01-01
    • 2013-12-18
    • 2012-04-01
    • 2021-03-25
    • 1970-01-01
    相关资源
    最近更新 更多