"Ссылка на объект не установлена ​​для экземпляра объекта" для ParseXHtml

В строке произошло исключение XMLWorkerHelper.GetInstance().ParseXHtml(pdfWriter, pdfDoc, sr)

Исключение типа "System.NullReferenceException" возникло в itextsharp.xmlworker.dll, но не было обработано в коде пользователя

Дополнительная информация: ссылка на объект не установлена ​​для экземпляра объекта.

когда фактически каждый параметр был четко установлен на экземпляр.

Dim pdfDoc As Document = New Document(PageSize.A4, 10, 10, 10, 10)
Dim pdfWriter As PdfWriter = pdfWriter.GetInstance(pdfDoc, Response.OutputStream)
pdfDoc.Open()

Dim b = Convert.FromBase64String(HttpContext.Current.Request.Form("code"))
Dim html = System.Text.Encoding.UTF8.GetString(b)
MsgBox(html)
Dim sr As StringReader = New StringReader(html)
MsgBox(IsNothing(pdfDoc).ToString()) 'False
MsgBox(IsNothing(pdfWriter).ToString()) 'False
MsgBox(IsNothing(sr).ToString()) 'False
XMLWorkerHelper.GetInstance().ParseXHtml(pdfWriter, pdfDoc, sr)
pdfDoc.Close()

Это исключение происходит только тогда, когда html содержит теги, если это только с простым текстом, такого исключения не происходит. Например, если я установил html = "<td></td>"произойдет исключение; если я уберу / чтобы сделать строку недействительной как HTML-код, исключение не произойдет.

Но так как моя цель состоит в том, чтобы разобрать HTML-страницу в PDF, html должен быть строковый исходный код с большим количеством тегов HTML.

0 ответов

Другие вопросы по тегам