iTextSharp erstellt PDF mit leeren Seiten

Ich habe gerade das iTextSharp XMLWorker-Nuget-Paket (und seine Abhängigkeiten) zu meinem Projekt hinzugefügt und versuche, den HTML-Code von einer Zeichenfolge in eine PDF-Datei zu konvertieren, obwohl keine Ausnahmen ausgelöst werden. Die PDF-Datei wird generiert mit zwei leeren Seiten. Warum

Die vorherige Version des Codes verwendete nur iTextSharp 5.5.8.0 mit der HTMLWorker- und ParseList-Methode, dann wechselte ich zu

Hier ist der Code, den ich verwende:

public void ExportToPdf() {
 string htmlString = "";

 Document document = new Document(PageSize.A4, 40, 40, 40, 40);
 var memoryStream = new MemoryStream();

 PdfWriter writer = PdfWriter.GetInstance(document, memoryStream);
 document.Open();

 htmlString = sbBodyMail.ToString();

 XMLWorkerHelper.GetInstance().ParseXHtml(writer, document, new StringReader(htmlString));

 document.Close();
 DownloadFile(memoryStream);
}

public void DownloadFile(MemoryStream memoryStream) {
 //Clears all content output from Buffer Stream
 Response.ClearContent();
 //Clears all headers from Buffer Stream
 Response.ClearHeaders();
 //Adds an HTTP header to the output stream
 Response.AddHeader("Content-Disposition", "attachment;filename=Report_Diagnosis.pdf");
 //Gets or Sets the HTTP MIME type of the output stream
 Response.ContentType = "application/pdf";
 //Writes the content of the specified file directory to an HTTP response output stream as a file block
 Response.BinaryWrite(memoryStream.ToArray());
 //Response.Write(doc);
 //sends all currently buffered output to the client
 Response.Flush();
 //Clears all content output from Buffer Stream
 Response.Clear();
}

Wenn ich platzieredocument.Add(new Paragraph("Just a test")); kurz bevordocument.Close(); Der Absatz wird auf der zweiten Seite gerendert, der Rest des Dokuments ist jedoch noch leer.

AKTUALISIERE

Ich habe den HTML-Code im @ geändehtmlString Variable auf nur einDIV und einTABLE und es hat funktioniert. Nun stellt sich die Frage: Woher weiß ich, welcher Teil des HTML-Codes Fehler im XMLWorker verursacht?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage