6
Document document = new Document(PageSize.LETTER, 10, 10, 10, 10);
StringReader reader = new StringReader(edittedHTML);
HTMLWorker worker = new HTMLWorker(document);
string fileName = "test.pdf";
PdfWriter.GetInstance(document, new FileStream(fileName, FileMode.Create));
document.Open();
worker.Parse(reader);
worker.EndDocument();
worker.Close();
document.Close();

プログラムが worker.Parse に実行されると、タイトルが言ったようにエラーがスローされます。

編集された HTML は、HTML ページの HTML 文字列です。

誰でもこれを解決する方法を知っていますか、または何がうまくいかないのですか?

スタック トレース:

iTextSharp.text.html.simpleparser.HTMLWorker.StartElement (文字列タグ、IDictionary`2 属性) で
iTextSharp.text.xml.simpleparser.SimpleXMLParser.ProcessTag (ブール値の開始) で
iTextSharp.text.xml.simpleparser.SimpleXMLParser.Go (TextReader リーダー) で
iTextSharp.text.xml.simpleparser.SimpleXMLParser.Parse (ISimpleXMLDocHandler ドキュメント、ISimpleXMLDocHandlerComment コメント、TextReader r、ブール値の html) で
iTextSharp.text.html.simpleparser.HTMLWorker.Parse (TextReader リーダー) で
C:\Users\TLiu\Documents\Visual Studio 2010\Projects\TestPdfApplication\TestPdfApplication\Form1.cs:line 68 の TestPdfApplication.Form1.button1_Click(オブジェクト送信者、EventArgs e) で
4

2 に答える 2

1

null参照のようです。すべての IDisposable アイテムで "using" 構文を使用してみてください。

using (HTMLWorker worker = new HTMLWorker(document))
                { (......) }
于 2015-07-15T14:50:44.467 に答える