DekGenius.com
[ Team LiB ] Previous Section Next Section

PrinterSettingsserializable

System.Drawing.Printing (system.drawing.dll)class

This class encapsulates a printer device, and its associated settings.

First, it offers a static property to retrieve the list of the names of the InstalledPrinters. When you construct a printer settings object, you set the PrinterName property to one of these values to indicate which printer to use. The default is the system default printer. Whether you set the name or leave the default, all the properties will be correctly set to the defaults for that printer. You can determine if it is currently using the default printer by checking the IsDefaultPrinter property.

You can then override any of those values. This might include the Duplex setting, the number of Copies to print, whether to Collate the output, and the PrintRange. If you set the range to PrintRange.SomePages, a simple range can be set with the FromPage and ToPage properties. (Note that the System.Windows.Forms.PrintDialog handles the page printing for you.

The default PageSettings for the printer can be retrieved, and you can also use properties such as PaperSizes, PaperSources, and PrinterResolutions to determine the options for overriding some of those default PageSettings.

There are also three properties that tell you about the capabilities of the printer: CanDuplex, SupportsColor, and IsPlotter.

To help determine how a document will be printed, you can use the CreateMeasurementGraphics() method to create a reference System.Drawing.Graphics surface. This can be used to determine the layout for your pages but is not the actual printer device surface.

See PrintDocument for more information on how to use the PrinterSettings to print a document.

public class PrinterSettings : ICloneable {
// Public Constructors
   public PrinterSettings();
// Public Static Properties
   public static StringCollection InstalledPrinters{get; }
// Public Instance Properties
   public bool CanDuplex{get; }
   public bool Collate{set; get; }
   public short Copies{set; get; }
   public PageSettings DefaultPageSettings{get; }
   public Duplex Duplex{set; get; }
   public int FromPage{set; get; }
   public bool IsDefaultPrinter{get; }
   public bool IsPlotter{get; }
   public bool IsValid{get; }
   public int LandscapeAngle{get; }
   public int MaximumCopies{get; }
   public int MaximumPage{set; get; }
   public int MinimumPage{set; get; }
   public PaperSizeCollection PaperSizes{get; }
   public PaperSourceCollection PaperSources{get; }
   public string PrinterName{set; get; }
   public PrinterResolutionCollection PrinterResolutions{get; }
   public PrintRange PrintRange{set; get; }
   public bool PrintToFile{set; get; }
   public bool SupportsColor{get; }
   public int ToPage{set; get; }
// Public Instance Methods
   public object Clone();  // implements ICloneable
   public Graphics CreateMeasurementGraphics();
   public IntPtr GetHdevmode();
   public IntPtr GetHdevmode(PageSettings pageSettings);
   public IntPtr GetHdevnames();
   public void SetHdevmode(IntPtr hdevmode);
   public void SetHdevnames(IntPtr hdevnames);
   public override string ToString();  // overrides object
}

Returned By

PageSettings.PrinterSettings, PrintDocument.PrinterSettings, System.Windows.Forms.PageSetupDialog.PrinterSettings, System.Windows.Forms.PrintDialog.PrinterSettings

Passed To

InvalidPrinterException.InvalidPrinterException(), PageSettings.{PageSettings(), PrinterSettings}, PrintDocument.PrinterSettings, System.Windows.Forms.PageSetupDialog.PrinterSettings, System.Windows.Forms.PrintDialog.PrinterSettings

    [ Team LiB ] Previous Section Next Section