Note that there are some explanatory texts on larger screens.

plurals
  1. POiTextSharp Parse HTML Memory leak? HTMLWorker.ParseToList or Parse
    primarykey
    data
    text
    <p>When I try to parse a large html file with iTextSharp, my memory is increasing with 200mb +=</p> <p>I tried following methods:</p> <pre><code>public byte[] CreatePdfToBytArray(string foundText, StyleSheet styles = null, bool landscape = false) { using (var d = new Document()) { if (landscape) { d.SetPageSize(PageSize.A4.Rotate()); } using (var stream = new MemoryStream()) { foundText = foundText.Replace("&lt;br&gt;", "/n"); PdfWriter.GetInstance(d, stream); var stringReader = new StringReader(foundText); d.Open(); var parser = new HTMLWorker(d); List&lt;IElement&gt; parsedList = HTMLWorker.ParseToList(stringReader, styles); foreach (object item in parsedList) { d.Add((IElement) item); } d.Close(); stringReader.Close(); stringReader.Dispose(); return stream.ToArray(); } } } </code></pre> <p>And</p> <pre><code>protected byte[] ConvertHTMLToPDF(string HTMLCode) { using (var stream = new MemoryStream()) { //Render PlaceHolder to temporary stream var stringWrite = new StringWriter(); var htmlWrite = new HtmlTextWriter(stringWrite); var reader = new StringReader(HTMLCode); //Create PDF document var doc = new Document(PageSize.A4); var parser = new HTMLWorker(doc); PdfWriter.GetInstance(doc, stream); doc.Open(); doc.Add(new Paragraph("I hope this works for you.")); try { parser.Parse(reader); } catch (Exception ex) { //Display parser errors in PDF. var paragraph = new Paragraph("Error!" + ex.Message); Chunk text = paragraph.Chunks[0]; if (text != null) { text.Font.Color = BaseColor.RED; } doc.Add(paragraph); } finally { doc.Close(); parser.Close(); parser.FlushContent(); parser.Dispose(); reader.Close(); reader.Dispose(); } return stream.ToArray(); } } </code></pre> <p>Both make my memory spike, I know the issue is in the HTMLWorker.ParseToList method or the parse method, is there any way i can clear the memory?</p> <p>Thanks</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload