我使用ITextSharp創建一個PDF,它由一個PdfTable組成。不幸的是,對於一個特定的數據集,由於創建了大量的PdfPCells,我得到了內存不足(我已經分析了內存使用情況 - 我已經獲得了將近1/2萬個單元!)如何減少與許多單元格PdfPTable的內存消耗
在這種情況下,有什麼辦法可以減少內存使用量嗎? 我試過在不同的點沖洗(每行之後)和全壓縮
的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();
你能分享你的代碼嗎? – 2013-03-18 16:39:56