private void PrintPageHandler(object sender, PrintPageEventArgs e) { var printCanvas = new DrawingControl(); printCanvas.Height = e.PrintableArea.Height; printCanvas.Width = e.PrintableArea.Width; printCanvas.LoadDrawing(DrawingSerializer.SaveDrawing(drawingHost.CurrentDrawing)); var savedScaleSetting = DynamicGeometry.Settings.ScaleTextWithDrawing; DynamicGeometry.Settings.ScaleTextWithDrawing = true; // Must be true for text to appear as expected. printCanvas.Drawing.Recalculate(); DynamicGeometry.Settings.ScaleTextWithDrawing = savedScaleSetting; e.PageVisual = printCanvas; }