我正在使用由单个 PdfTable 组成的 ITextSharp 创建 PDF。不幸的是,对于特定的数据集,由于创建的大量 PdfPCells,我得到了内存不足异常(我已经分析了内存使用情况 - 我有近 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();