0

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)

何か案が?前もって感謝します

4

1 に答える 1

1

HTMLWorker は非推奨であり、維持されません。xml-worker に置き換えられます。

于 2012-08-06T09:53:29.720 に答える