Itext XMLWorkerHelper.getInstance().parseXHtml在分析包含嵌套表的HTML时引发错误

Itext XMLWorkerHelper.getInstance().parseXHtml在分析包含嵌套表的HTML时引发错误,itext,Itext,我有一些生成嵌套表的代码——本质上是使用ApacheFreeMarker()生成的财务报告,所有这些都工作正常,呈现和显示良好。我想使用iText将其导出为PDF,但出现以下错误: com.itextpdf.tool.xml.exceptions.RuntimeWorkerException:找到无效的嵌套标记表,应为结束标记tr 这不可能吗?由于我生成HTML的方式,没有办法改变这一点,尽管如果有办法我可以解析源代码您可以在将HTML传递给iText之前使用JSoup修复HTML。感谢您的想法

我有一些生成嵌套表的代码——本质上是使用ApacheFreeMarker()生成的财务报告,所有这些都工作正常,呈现和显示良好。我想使用iText将其导出为PDF,但出现以下错误:

com.itextpdf.tool.xml.exceptions.RuntimeWorkerException:找到无效的嵌套标记表,应为结束标记tr


这不可能吗?由于我生成HTML的方式,没有办法改变这一点,尽管如果有办法我可以解析源代码

您可以在将HTML传递给iText之前使用JSoup修复HTML。感谢您的想法,但HTML没有问题,它在我的浏览器中呈现良好。不管怎样,我还是尝试了Jsoup,但没有效果。不幸的是,“它在我的浏览器中呈现良好”不是一个好的测试。浏览器在呈现损坏的HTML之前会做大量的工作来修复它。您可以使用W3验证程序验证您的HTML:上传或复制/粘贴您的HTML并单击“检查”,然后编辑您的问题以添加验证报告。谢谢,是的,我知道这一点,但它通过了W3,org验证,所以我相当确定它是好的-它是非常简单的HTML。将其重新调整为不包含嵌套的表元素后,现在可以正常工作了。很遗憾,itext无法处理这种特殊的结构。请分享你的HTML。如果涉及深度嵌套的表,则可能会出现问题。请使用iText 7+pdfHTML再试一次-它的HTML支持比iText 5有很大改进。您可以在将HTML传递到iText之前使用JSoup修复HTML。感谢您的想法,但HTML没有问题,它在我的浏览器中呈现良好。不管怎样,我还是尝试了Jsoup,但没有效果。不幸的是,“它在我的浏览器中呈现良好”不是一个好的测试。浏览器在呈现损坏的HTML之前会做大量的工作来修复它。您可以使用W3验证程序验证您的HTML:上传或复制/粘贴您的HTML并单击“检查”,然后编辑您的问题以添加验证报告。谢谢,是的,我知道这一点,但它通过了W3,org验证,所以我相当确定它是好的-它是非常简单的HTML。将其重新调整为不包含嵌套的表元素后,现在可以正常工作了。很遗憾,itext无法处理这种特殊的结构。请分享你的HTML。如果涉及深度嵌套的表,则可能会出现问题。请使用iText 7+pdfHTML再试一次-与iText 5相比,它的HTML支持有了很大改进。