ParseXHtml的“对象引用未设置为对象的实例”

时间:2019-08-06 09:40:51

标签: asp.net vb.net itext xmlworkerhelper

XMLWorkerHelper.GetInstance().ParseXHtml(pdfWriter, pdfDoc, sr)行中发生了异常

  

itextsharp.xmlworker.dll中发生了'System.NullReferenceException'类型的异常,但未在用户代码中处理

     

其他信息:对象引用未设置为对象的实例。

实际上每个参数都已明确设置为实例。

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 个答案:

没有答案