/* Professional Windows GUI Programming Using C# by Jay Glynn, Csaba Torok, Richard Conway, Wahid Choudhury, Zach Greenvoss, Shripad Kulkarni, Neil Whitlow Publisher: Peer Information ISBN: 1861007663 */ using System; using System.Drawing.Printing; using System.Drawing; namespace BasicPrinting { public class PrintSample { [STAThread] static void Main(string[] args) { PrintSample oSample = new PrintSample(); oSample.RunSample(); } public void RunSample() { Console.WriteLine("Printing to the default printer..."); try { PrintDocument pd = new PrintDocument(); pd.PrintPage += new PrintPageEventHandler(this.PrintPageEvent); pd.Print(); } catch(Exception ex) { Console.WriteLine("Error printing -- " + ex.ToString()); } //Read input - to delay the closing of the DOS shell Console.ReadLine(); } //Event fired for each page to print private void PrintPageEvent(object sender, PrintPageEventArgs ev) { string strHello = "Hello Printer!"; Font oFont = new Font("Arial",10); Rectangle marginRect = ev.MarginBounds; ev.Graphics.DrawRectangle(new Pen(System.Drawing.Color.Black),marginRect); ev.Graphics.DrawString(strHello,oFont,new SolidBrush(System.Drawing.Color.Blue), (ev.PageBounds.Right/2), ev.PageBounds.Bottom/2); } } }