'对象引用未设置为对象的实例'用于HTMLWorker解析器
本文关键字:用于 HTMLWorker 实例 对象 对象引用 设置 | 更新日期: 2023-09-27 18:15:58
Document document = new Document(PageSize.LETTER, 10, 10, 10, 10);
StringReader reader = new StringReader(edittedHTML);
HTMLWorker worker = new HTMLWorker(document);
string fileName = "test.pdf";
PdfWriter.GetInstance(document, new FileStream(fileName, FileMode.Create));
document.Open();
worker.Parse(reader);
worker.EndDocument();
worker.Close();
document.Close();
程序运行到worker时。解析,它抛出一个错误,就像标题所说的。
编辑后的HTML是HTML页面的HTML字符串。
有谁知道怎么解决这个问题,或者出了什么问题?
堆栈跟踪:
<>之前在iTextSharp.text.html.simpleparser.HTMLWorker。startelelement(字符串标签,字典' 2 attrs)在iTextSharp.text.xml.simpleparser.SimpleXMLParser。ProcessTag(布尔开始)在iTextSharp.text.xml.simpleparser.SimpleXMLParser。(TextReader读者)在iTextSharp.text.xml.simpleparser.SimpleXMLParser。解析(ISimpleXMLDocHandler文档,ISimpleXMLDocHandlerComment注释,TextReader r, Boolean html)在iTextSharp.text.html.simpleparser.HTMLWorker。解析(TextReader读者)在TestPdfApplication.Form1。在C:'Users'TLiu'Documents'Visual Studio 2010'Projects'TestPdfApplication'TestPdfApplication' form .cs:第68行中单击(对象发送方,EventArgs e)我认为问题是由于解析器无法处理的HTML tags
抛出的空引用异常。试着移除标签尽管不再支持HTMLWorker。它已经停止了,取而代之的是XML Worker
它看起来像一个空引用。试着用"using"来表示所有的IDisposable物品:
using (HTMLWorker worker = new HTMLWorker(document))
{ (......) }