Nyomtatáshoz egy PrintDocument komponenst használunk fel. Ennek PrintPage eseményénél kell megadnunk azt a kódot, mely elvégzi a kinyomtatandó dokumentum megjelenítését. Az egyszerűség kedvéért most csak egy ellipszist rajzolunk a papírra, így jól látható lesz, hogy az oldal melyre nyomtatunk az álló, vagy fekvő.
protected void printDocument1_PrintPage (object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
Pen pen = new Pen(Color.Red, 2);
e.Graphics.DrawEllipse(pen, 100, 100, 600, 200);
e.HasMorePages = false;
}
A nyomtatás indításához először meghívjuk a PrintDialog-ot, a ShowDialog függvényével. Ha ez a DialogResult felsorolt típus elemei közül az OK értékkel tér vissza, akkor a felhasználó az OK gombbal zárta a dialógot. Ekkor indítjuk csak a nyomtatást a PrintDocument komponens Print függvényének hívásával.
protected void button1_Click (object sender, System.EventArgs e)
{
if (printDialog1.ShowDialog() == DialogResult.OK)
{
printDocument1.Print();
}
}
A helyes működéshez ez még nem lenne elegendő. A PrintDialog és PrintDocumentum komponenseket össze kell kötnünk, különben hiába állítunk be mondjuk fekvő lapra történő nyomtatást, a nyomtató komponens által szolgáltatott adatokra ez nem lenne hatással.
Ehhez tehát annyi a teendő, hogy a PrintDialog1 Document property-jénél ki kell választanunk a PrintDocument komponenst és máris kezdődhet a nyomtatás.