Как уменьшить потребление памяти PdfPTable со многими ячейками
Я создаю PDF, используя ITextSharp, который состоит из одной таблицы PDF. К сожалению, для определенного набора данных я получаю исключение «Недостаточно памяти» из-за большого количества создаваемых ячеек PdfPCell (я профилировал использование памяти - у меня есть почти 1/2 миллиона ячеек!)
Есть ли способ уменьшить использование памяти в таком случае? Я пытался очистить в разных точках (после каждого ряда) и полное сжатие
PdfWriter основан на FileStream
Код выглядит примерно так:
Document document = Document();
FileStream stream = new FileStream(fileName,FileMode.Create);
pdfWriter = PdfWriter.GetInstance(document, stream);
document.Open();
PdfPTable table = new PdfPTable(nbColumnToDisplay);
foreach (GridViewRow row in gridView.Rows)
{
j = 0;
for (int i = 0; i < gridView.HeaderRow.Cells.Count; i++)
{
PdfPCell cell = new PdfPCell( new Phrase( text) );
table.AddCell(cell);
}
}
document.Add(table);
document.Close();