Пустая стопка Ошибка при использовании iTextSharp для конвертации HTML в PDF
Я хочу экспортировать в PDF мой HTML-код
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-работником.