単一の PdfTable で構成される ITextSharp を使用して PDF を作成しています。残念なことに、特定のデータ セットでは、作成された多数の PdfPCells が原因でメモリ不足の例外が発生しています (メモリ使用量をプロファイリングしました - 100 万セルのほぼ 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();