Print Custom Page this is a test //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; using System.Globalization; namespace Printing { public partial class PrintCustomPage : System.Windows.Window { public PrintCustomPage() { InitializeComponent(); } private void cmdPrint_Click(object sender, RoutedEventArgs e) { PrintDialog printDialog = new PrintDialog(); if (printDialog.ShowDialog() == true) { DrawingVisual visual = new DrawingVisual(); using (DrawingContext dc = visual.RenderOpen()) { FormattedText text = new FormattedText(txtContent.Text, CultureInfo.CurrentCulture, FlowDirection.LeftToRight, new Typeface("Calibri"), 20, Brushes.Black); text.MaxTextWidth = printDialog.PrintableAreaWidth / 2; Point point = new Point(80,80); dc.DrawText(text, point); dc.DrawRectangle(null, new Pen(Brushes.Black, 1), new Rect(180, 180, 60,60)); } printDialog.PrintVisual(visual, "A Printed Page"); } } } }