Dear community.
We uses PdfSharp – library in our application. For output some data as pdf.
In some cases if pdf-document contain many objects PdfSharp throw OutOufMemoryException during saving of pdf-file.
Here is my example-code
Code:
PdfSharp.Pdf.PdfDocument xDoc = new PdfSharp.Pdf.PdfDocument();
xDoc.Pages.Add(new PdfSharp.Pdf.PdfPage() { Width = 500, Height = 750 });
xDoc.Info.Author = "Autor";
xDoc.Info.CreationDate = DateTime.Now;
xDoc.Info.Creator = "Creator";
xDoc.Info.Keywords = "KW1, KW2, KW3";
xDoc.Info.Subject = "Subject";
xDoc.Info.Title = "Title";
PdfSharp.Pdf.PdfPage xPage = xDoc.Pages[0];
PdfSharp.Pdf.Advanced.PdfResources rsx = xPage.GetResources();
PdfSharp.Drawing.XGraphics gfx = PdfSharp.Drawing.XGraphics.FromPdfPage(xPage);
PdfSharp.Drawing.XPen pen = new PdfSharp.Drawing.XPen(PdfSharp.Drawing.XColor.FromKnownColor(KnownColor.Red));
////Lines
pen.LineCap = PdfSharp.Drawing.XLineCap.Round;
int hLinesCount = 6104000;
int vLinesCount = 4096000;
int ii = 0;
for (int i = 0; i < hLinesCount; i++)
{
ii = (ii < 750) ? ii + 2 : 0;
System.Drawing.PointF p0 = new PointF(0, ii);
System.Drawing.PointF p1 = new PointF(500, ii);
gfx.DrawLine(pen, p0, p1);
}
ii = 0;
for (int i = 0; i < vLinesCount; i++)
{
ii = (ii < 500) ? ii + 2 : 0;
System.Drawing.PointF p0 = new PointF(ii, 0);
System.Drawing.PointF p1 = new PointF(ii, 750);
gfx.DrawLine(pen, p0, p1);
}
////Lines--//
xDoc.PageLayout = PdfSharp.Pdf.PdfPageLayout.SinglePage;
xDoc.Save(fileFN); ///Here is exception!!!!!!!!!
xDoc.Close();
How to solve I this problem?
Thanks in advance