在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标记的字符串化源代码。