void ExportPage(PdfDocument doc, ChartPage chart) { // Create an empty page var page = doc.AddPage(); if (ExportOptions.Orientation == PageOrientation.Landscape) { page.Orientation = PdfSharp.PageOrientation.Landscape; } // Get an XGraphics object for drawing var graphics = XGraphics.FromPdfPage(page); // if (ExportOptions.WithBackground && !chart.BackColor.IsEmpty) { graphics.Clear(chart.BackColor); } // var contentSize = chart.GetContentSize(); var pageSize = new Size((int)page.Width.Point, (int)page.Height.Point); var zoom = PaintHelper.GetZoom(contentSize, pageSize); var zoomedSize = PaintHelper.Zoom(contentSize, zoom); if (zoomedSize.Width < pageSize.Width || zoomedSize.Height < pageSize.Height) { graphics.TranslateTransform( Math.Max(0, (pageSize.Width - zoomedSize.Width) / 2), Math.Max(0, (pageSize.Height - zoomedSize.Height) / 2)); } graphics.ScaleTransform(zoom); // if (chart is MindMap) { var grf = new PdfGraphics(graphics); var args = new RenderArgs(grf, (MindMap)chart, grf.Font(ChartBox.DefaultChartFont)); var renderer = new GeneralRender(); renderer.Paint((MindMap)chart, args); } }