我正在使用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中感谢
答案 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);