c# – XMLWorker异常:未将对象引用设置为对象的实例
发布时间:2020-12-15 21:38:45 所属栏目:百科 来源:网络整理
导读:我想将html导出为pdf var document = new Document(); PdfWriter pdfWriter = PdfWriter.GetInstance(document,new FileStream("/my.pdf",FileMode.Create)); pdfWriter.SetFullCompression(); pdfWriter.StrictImageSequence = true; pdfWriter.SetLinearPa
我想将html导出为pdf
var document = new Document(); PdfWriter pdfWriter = PdfWriter.GetInstance(document,new FileStream("/my.pdf",FileMode.Create)); pdfWriter.SetFullCompression(); pdfWriter.StrictImageSequence = true; pdfWriter.SetLinearPageMode(); var sr = new StringReader(htmlcode); document.Open(); var k = XMLWorkerHelper.GetInstance(); k.ParseXHtml(pdfWriter,document,sr); //here it gave me an exception: Object reference not set to an instance of an object sr.Close(); document.Close(); Response.ContentType = "Application/pdf"; Response.AppendHeader("Content-Disposition","attachment; filename="my.pdf"); Response.TransmitFile(@"c:testmy.pdf"); Response.Flush(); Response.End(); Response.Close(); 所有例外: System.NullReferenceException: Object reference not set to an instance of an object. at iTextSharp.tool.xml.pipeline.html.HtmlPipeline.Close (IWorkerContext context,Tag t,ProcessObject po) at iTextSharp.tool.xml.XMLWorker.EndElement(String tag,String ns) at iTextSharp.tool.xml.parser.XMLParser.EndElement() at iTextSharp.tool.xml.parser.state.ClosingTagState.Process(Char character) at iTextSharp.tool.xml.parser.XMLParser.ParseWithReader(TextReader reader) at iTextSharp.tool.xml.XMLWorkerHelper.ParseXHtml(PdfWriter writer,Document doc,TextReader inp) 解决方法
这一行出错
var k = XMLWorkerHelper.GetInstance(); k.ParseXHtml(pdfWriter,sr); //这里它给了我一个例外:对象引用未设置为的实例 ?由于任何一个输入参数的值指向NULL我们可以在传递之前检查它(变量将通过)是否为null或值. 以下代码足以获取HTML内容并将其写入PDF文件 Document pdfDoc = new Document(PageSize.A4,10,10); PdfWriter writer = PdfWriter.GetInstance(pdfDoc,new FileStream(@"D:SyedNew PDFPDF.pdf",FileMode.Create));// Output PDF File Path Response.Write("File Created Successfully"); pdfDoc.Open(); XMLWorkerHelper.GetInstance().ParseXHtml(writer,pdfDoc,new StreamReader(@"D:Syedtest.html"));//This is input HTML file path pdfDoc.Close(); 它将从HTML文件中读取并将其写入创建的PDF文件中 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- configure: error: xml2-config not found. Plea
- 默认情况下对列进行排序(加载时)使用Dojo Dgrid
- 设计模式六大原则(3):依赖倒置原则
- vb.net – Dispose之间的区别
- AppSrc与Playbin2的结合使用
- ajax(jQuery)学习笔记
- c – 如何避免#include对外部库的依赖
- [转]XML::Parser perl module is required for i
- [React Native]react-native-scrollable-tab-vie
- ruby-on-rails – MongoDB – Mongoid map减少基
热点阅读