C# - Nyomtatás a Visual Studio.NET-ben

Nyomtatás 2. rész

forráskód letöltése
Sorozatunk második részében a nyomtatási beállítások lehetőségeit vizsgáljuk meg részletesen.
Ebben a PrinterSettins osztály segít bennünket, melynek példánya a PrintDocument osztály PrinterSettings property-n keresztül érhető el.
Első lepésként egy ügyes kis ciklussal kiíratjuk az összes property-jének nevét és azok aktuális értékeit egy ListBox-ba.
      Type t = printDocument1.PrinterSettings.GetType();
      PropertyInfo[] p = t.GetProperties();
      foreach(PropertyInfo i in p)
      {   
        listBox1.Items.Add(i.Name + ": " + i.GetValue(printDocument1.PrinterSettings, null).ToString());          
      }  
Az így megjelenő property-k a következők lesznek:
  • PrinterName - Ennek az osztálynak a PrinterName property-je árulja el a nyomtató nevét.
  • CanDuplex - A CanDuplex property, ha igaz értéket tartalmaz, akkor az adott nyomtató képes a kétoldalas nyomtatás kezelésére.
  • Collate - Ha a Collate property igaz, akkor a nyomtató képes a több példányban nyomtatandó dokumentum szétválogatására.
  • IsDefaultPrinter - Ha az IsDefaultPrinter igaz, akkor az aktuális nyomtató az alapértelmezett.
  • IsPlotter – Az IsPlotter property igaz értéke esetén egy plotter eszközről van szó.
  • IsValid - Ha az IsValid property igaz, akkor a PrinterName property valós értéket tartalmaz.
  • LandscapeAngle - A LandscapeAngle property-ből kiolvashatjuk, hogy a fekvő lapos nyomtatás esetén milyen szögben elforgatva történik a nyomtatás. Ennek értéke 90 vagy 270 lehet.
  • MaximumCopies - A MaximumCopies property-ből azt a számot tudhatjuk meg, mely a maximális másolatok számát takarja.
  • SupportsColor - Ha a SupportsColor property igaz, akkor a nyomtató színesben is képes nyomtatni.
Az összes telepített nyomtató nevét lekérdezhetjük az InstalledPrinters StringCollection típusú property-n keresztül.
      foreach(String s in PrinterSettings.InstalledPrinters) 
      {
        listBox2.Items.Add(s);
      } 
A lehetséges papír méreteket megtudhatjuk a PaperSizes property-n keresztül.
      foreach(PaperSize ps in printDocument1.PrinterSettings.PaperSizes) 
      {
        listBox3.Items.Add(ps);
      }
A lehetséges papír adagolási módokat szintén egy listában kapjuk meg a PaperSources property-n keresztül.
      foreach(PaperSource ps in printDocument1.PrinterSettings.PaperSources) 
      {
        listBox4.Items.Add(ps);
      }
Végül az adott nyomtató felbontási képességeinek listáját a PrinterResolutions property listájából olvashatjuk ki.
      foreach(PrinterResolution pr in printDocument1.PrinterSettings.PrinterResolutions) 
      {
        listBox5.Items.Add(pr);
      }

Nyomtatás cikksorozat