'对象引用未设置为HTMLWorker解析器的对象实例'

Tig*_*ger 6 c# itextsharp

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();
Run Code Online (Sandbox Code Playgroud)

当程序运行到worker.Parse时,它会抛出错误,就像标题所说的那样.

edtted HTML是HTML页面的HTML字符串.

任何人都知道如何解决这个问题,或者出了什么问题?

堆栈跟踪:

at iTextSharp.text.html.simpleparser.HTMLWorker.StartElement(String tag, IDictionary`2 attrs)
at iTextSharp.text.xml.simpleparser.SimpleXMLParser.ProcessTag(Boolean start)
at iTextSharp.text.xml.simpleparser.SimpleXMLParser.Go(TextReader reader)
at iTextSharp.text.xml.simpleparser.SimpleXMLParser.Parse(ISimpleXMLDocHandler doc, ISimpleXMLDocHandlerComment comment, TextReader r, Boolean html)
at iTextSharp.text.html.simpleparser.HTMLWorker.Parse(TextReader reader)
at TestPdfApplication.Form1.button1_Click(Object sender, EventArgs e) in C:\Users\TLiu\Documents\Visual Studio 2010\Projects\TestPdfApplication\TestPdfApplication\Form1.cs:line 68

Fer*_*lim 3

我认为问题是由于HTML tags解析器无法处理而引发空引用异常。尽管不再支持 HTMLWorker,但尝试删除标签。 它已停止,取而代之的是 XML Worker