我想将XML(使用外部CSS)转换为使用Itext XMLWorkerHelper的PDF,每当XMLWorkerHelper分析格式错误的HTML时,都面临着运行时异常。例如:如何使用iText和XMLWorker将格式错误的HTML转换为PDF?
下面的html输入标记未关闭:而XMLWorkerHelper无法解析并抛出运行时异常。
如果我尝试使用正确的HTML输入标签,它会正常工作。
如何将格式错误或复杂的HTML(以及css)转换为使用Itext的PDF。
下面是我的代码:
var test_html = File.ReadAllText("C:/Desking _ Lender Program - Dealertrack.html");
var test_css = File.ReadAllText("C:/login.css");
using (var msCss = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(test_css)))
{
using (var msHtml = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(test_html)))
{
//Parse the HTML
try
{
iTextSharp.tool.xml.XMLWorkerHelper.GetInstance().ParseXHtml(writer, doc, msHtml, msCss);
}
catch { }
}
}
升级到iText 7并使用pdfHTML插件。 XML Worker的升级修复了您提到的问题。 –
在将您的HTML提供给XMLWorker之前,请使用JSoup将其格式合理化。由Bruno提到的pdfHtml已经为你做了,但在iText 5中它仍然是一个手动步骤。 –
我升级到Itext 7许可版本。任何能指出我正确的资源,我可以参考和我使用C#作为编程语言。请让我知道,如果我可以得到一些支持形式Itext,因为我使用的是行货版本。非常感谢@BrunoLowagie –