C# XMLWorker异常:对象引用未设置为对象的实例
我想将html导出为pdfC# XMLWorker异常:对象引用未设置为对象的实例,c#,asp.net,exception,html-parsing,export-to-pdf,C#,Asp.net,Exception,Html Parsing,Export To Pdf,我想将html导出为pdf var document = new Document(); PdfWriter pdfWriter = PdfWriter.GetInstance(document, new FileStream("/my.pdf", FileMode.Create)); pdfWriter.SetFullCompression(); pdfWriter.StrictImageSequence =
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:\test\my.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)
这行有错误
//这里它给了我一个例外:对象引用未设置为 物件 由于任何一个输入参数的值都指向NULL,所以在传递之前,我们可以检查它(即将传递的变量)是否为NULL或值 下面的代码仅足以获取HTML内容并将其写入PDF文件
Document pdfDoc = new Document(PageSize.A4, 10, 10, 10, 10);
PdfWriter writer = PdfWriter.GetInstance(pdfDoc, new FileStream(@"D:\Syed\New PDF\PDF.pdf", FileMode.Create));// Output PDF File Path
Response.Write("File Created Successfully");
pdfDoc.Open();
XMLWorkerHelper.GetInstance().ParseXHtml(writer, pdfDoc, new StreamReader(@"D:\Syed\test.html"));//This is input HTML file path
pdfDoc.Close();
它将读取HTML文件并将它们写入创建的PDF文件中
Document pdfDoc = new Document(PageSize.A4, 10, 10, 10, 10);
PdfWriter writer = PdfWriter.GetInstance(pdfDoc, new FileStream(@"D:\Syed\New PDF\PDF.pdf", FileMode.Create));// Output PDF File Path
Response.Write("File Created Successfully");
pdfDoc.Open();
XMLWorkerHelper.GetInstance().ParseXHtml(writer, pdfDoc, new StreamReader(@"D:\Syed\test.html"));//This is input HTML file path
pdfDoc.Close();