2012-08-06 131 views
0

時,我想在我的PDF導出htmlcode堆棧空的錯誤使用iTextSharp的轉換HTML爲PDF

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" 

//這裏它給我的異常堆棧是空的

List<iTextSharp.text.IElement> 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) 

任何想法?在此先感謝

回答

1

HTMLWorker已棄用,不會進行維護。它被xml-worker取代。

相關問題