将带有css的html转换为pdf时出错

时间:2018-01-17 07:28:32

标签: java html css itext

我正在从html转换pdf,其中包括使用ITextRenderer

的css
    ClassLoader classLoader = DigiFaxInvoice.class.getClassLoader();
          URL url = classLoader.getResource("html file path");
            String urlString = new File(url.getFile()).toURI().toURL().toString();
            String HTML_TO_PDF = "pdf file path";
            OutputStream os = new FileOutputStream(HTML_TO_PDF);       
            ITextRenderer renderer = new ITextRenderer();
            renderer.setDocument(urlString);      
            renderer.layout();
            renderer.createPDF(os);        
            os.close();

我收到了以下错误,

Exception in thread "main" java.lang.ClassCastException: org.xhtmlrenderer.render.BlockBox cannot be cast to org.xhtmlrenderer.newtable.TableBox
            at org.xhtmlrenderer.layout.BoxCollector.collect(BoxCollector.java:127)
            at org.xhtmlrenderer.layout.BoxCollector.collect(BoxCollector.java:139)
            at org.xhtmlrenderer.layout.BoxCollector.collect(BoxCollector.java:139)
            at org.xhtmlrenderer.layout.BoxCollector.collect(BoxCollector.java:46)
            at org.xhtmlrenderer.layout.Layer.paint(Layer.java:314)
            at org.xhtmlrenderer.layout.Layer.paintLayers(Layer.java:165)
            at org.xhtmlrenderer.layout.Layer.paint(Layer.java:337)
            at org.xhtmlrenderer.pdf.ITextRenderer.paintPage(ITextRenderer.java:384)
            at org.xhtmlrenderer.pdf.ITextRenderer.writePDF(ITextRenderer.java:348)
            at org.xhtmlrenderer.pdf.ITextRenderer.createPDF(ITextRenderer.java:315)
            at org.xhtmlrenderer.pdf.ITextRenderer.createPDF(ITextRenderer.java:246)
            at DigiFaxInvoice.main(DigiFaxInvoice.java:47)

您能否解释一下我收到此错误的原因以及解决方法?

0 个答案:

没有答案
相关问题