ITextRenderer无法解析<创建pdf

时间:2015-12-25 10:01:14

标签: java itext

我正在使用ItextRendered创建pdf。跟着我的代码

ITextRenderer renderer = new ITextRenderer();   
renderer.setDocumentFromString(html);
renderer.layout();
renderer.createPDF(os);                                                       

这里的html是包含html标签的html。我的问题是我的数据包含<在HTML中我得到以下异常

  

[ERROR]无法加载XML资源(使用TRaX转换器)。   org.xml.sax.SAXParseException:元素的内容必须包含   格式良好的字符数据或标记   org.xhtmlrenderer.util.XRRuntimeException:无法加载XML资源   (使用TRaX变压器)。 org.xml.sax.SAXParseException:内容   元素必须由格式良好的字符数据或标记组成。在   org.xhtmlrenderer.resource.XMLResource $ XMLResourceBuilder.createXMLResource(XMLResource.java:191)     在org.xhtmlrenderer.resource.XMLResource.load(XMLResource.java:75)     在   org.xhtmlrenderer.pdf.ITextRenderer.setDocumentFromString(ITextRenderer.java:158)     在   org.xhtmlrenderer.pdf.ITextRenderer.setDocumentFromString(ITextRenderer.java:153)

请帮我解决这个问题 在adavnce中感谢

2 个答案:

答案 0 :(得分:0)

最后通过使用Jsoup解析我的html来解决我的问题这里是我的解决方案代码。

 private String parseSpecialCharactersInData(String string){
         org.jsoup.nodes.Document document =Jsoup.parse(string);
         return document.html();
    }

答案 1 :(得分:-1)

看起来html字符串有问题或者方法不正确。也许试试:

ITextRenderer renderer = new ITextRenderer();   
renderer.setDocument(File htmlFile); //Put your html string in a .html file
renderer.layout();
renderer.createPDF(os);