我正在从html转换pdf,其中包括使用ITextRenderer
,
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)
您能否解释一下我收到此错误的原因以及解决方法?