Hello!
I generate a PDF document based on templates. The document consists of several pages (maybe more than 5000). When I create the 500th page, I get a memory overflow. Any ideas? Thanks for the tips!
public static void CreateBankBlank2012Year(string pdfTemplatePath, string directoryOutPdf, string nameOutPdf, AnnualReportsFilterParameters filterParametrs, string serverPath) { // Get details salary IEnumerable<SalayDetailsForPdf> dataSalaryDetails = (IEnumerable<SalayDetailsForPdf>) GetSalaryData(filterParametrs); String fontPath = Path.Combine(serverPath + "\\Fonts", "STSONG.ttf"); Font font = FontFactory.GetFont(fontPath, BaseFont.IDENTITY_H, 8); using (Document document = new Document()) { using (PdfSmartCopy copy = new PdfSmartCopy( document, new FileStream(directoryOutPdf + nameOutPdf, FileMode.Create)) ) { document.Open(); foreach (var data in dataSalaryDetails) { PdfReader reader = new PdfReader(pdfTemplatePath + @"\ EmptyTemplateBankBlank_2012.pdf "); using (var ms = new MemoryStream()) { using (PdfStamper stamper = new PdfStamper(reader, ms)) { stamper.AcroFields.AddSubstitutionFont(font.BaseFont); AcroFields form = stamper.AcroFields; form.SetField("t1_address1", data.Address1); form.SetField("t1_name", data.NameHieroglyphic); // Other field ... stamper.FormFlattening = true; } reader = new PdfReader(ms.ToArray()); copy.AddPage(copy.GetImportedPage(reader, 1)); } } } } }