//File:Window.xaml.cs using System; using System.Collections.Generic; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Shapes; namespace Printing { public partial class PrintScaledVisual : System.Windows.Window { public PrintScaledVisual() { InitializeComponent(); } private void cmdPrint_Click(object sender, RoutedEventArgs e) { PrintDialog printDialog = new PrintDialog(); if (printDialog.ShowDialog() == true) { Run run = new Run("This is a test."); TextBlock visual = new TextBlock(run); visual.Margin = new Thickness(15); visual.TextWrapping = TextWrapping.Wrap; double zoom = 2; visual.LayoutTransform = new ScaleTransform(zoom / 100, zoom / 100); Size pageSize = new Size(printDialog.PrintableAreaWidth, printDialog.PrintableAreaHeight); visual.Measure(pageSize); visual.Arrange(new Rect(0, 0, pageSize.Width, pageSize.Height)); printDialog.PrintVisual(visual, "A Scaled Drawing"); } } } }