我想以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"
//这里它给我异常堆栈是空的
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)
有什么想法吗?提前谢谢
答案 0 :(得分:1)
HTMLWorker已弃用,不会进行维护。它被xml-worker取代。