Stack empty使用iTextSharp将HTML转换为PDF时出错

我想以PDF格式导出我的htmlcode

var document = new Document(); string filePath = Server.MapPath("~/generatedBook"); string exceptionPath = Server.MapPath("~/exceptions"); PdfWriter pdfWriter = PdfWriter.GetInstance(document, new FileStream(filePath + "/Book"+_IdSes+".pdf", FileMode.Create)); pdfWriter.SetFullCompression(); pdfWriter.StrictImageSequence = true; pdfWriter.SetLinearPageMode(); try { document.SetPageSize(PageSize.A4.Rotate()); document.SetPageSize(new Rectangle(792f, 612f)); // 11" x 8.5" 

//这里它给我exception堆栈是空的

 List htmlarraylist = iTextSharp.text.html.simpleparser.HTMLWorker.ParseToList(new StringReader(htmlcode.ToString()), st); 

// htmlcode是StringBuilder类型

 foreach (IElement t in htmlarraylist) { document.Add((IElement)t); } document.Close(); 

完全例外

 System.InvalidOperationException: Stack empty. at System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource) at System.Collections.Generic.Stack`1.Pop() at iTextSharp.text.html.simpleparser.HTMLWorker.EndElement(String tag) at iTextSharp.text.xml.simpleparser.SimpleXMLParser.ProcessTag(Boolean start) at iTextSharp.text.xml.simpleparser.SimpleXMLParser.Go(TextReader reader) at iTextSharp.text.xml.simpleparser.SimpleXMLParser.Parse(ISimpleXMLDocHandler doc, ISimpleXMLDocHandlerComment comment, TextReader r, Boolean html) at iTextSharp.text.html.simpleparser.HTMLWorker.Parse(TextReader reader) 

任何的想法? 提前致谢

HTMLWorker已弃用,不会进行维护。 它被xml-worker取代。