asp.net - ParseXHtml 的“对象引用未设置为对象的实例”
问题描述
线路发生异常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 标签。
解决方案
推荐阅读
- phpmyadmin - xampp phpmyadmin 错误 - #1932 - Xampp 7.3.8 新版本的引擎中不存在表 'phpmyadmin.pma__userconfig'
- javascript - Ramda 中的简单无点函数
- javascript - Ajax 获取文件 - 内容在哪里加载?
- vbscript - 是什么导致了我的 hta 文件中的视觉故障
- java - 如何在处理超过 800 万条记录时提高 Spring 批处理性能
- vue.js - vuex 基本状态在模块之间共享
- java - 在 android Studio 钢琴练习中使用 SoundPool 播放并行声音的问题
- jquery - 使用 Laravel Carbon 将日期保存为 MySQL 格式
- python-3.x - 如何修复“将数据从 flask-socketio 事件处理程序传递到 Flask-SQLAlchemy”
- python - 用包含字符串的变量替换函数属性