PrinterSettings Class

Definition

Specifies information about how a document is printed, including the printer that prints it, when printing from a Windows Forms application.

public ref class PrinterSettings : ICloneable
public class PrinterSettings : ICloneable
[System.Runtime.InteropServices.ComVisible(false)]
[System.Serializable]
public class PrinterSettings : ICloneable
[System.Serializable]
public class PrinterSettings : ICloneable
type PrinterSettings = class
    interface ICloneable
[<System.Runtime.InteropServices.ComVisible(false)>]
[<System.Serializable>]
type PrinterSettings = class
    interface ICloneable
[<System.Serializable>]
type PrinterSettings = class
    interface ICloneable
Public Class PrinterSettings
Implements ICloneable
Inheritance
PrinterSettings
Attributes
Implements

Examples

The following code example prints a document on the specified printer. The example has three prerequisites:

  • A variable named filePath has been set to the path of the file to print.

  • A method named pd_PrintPage, which handles the PrintPage event, has been defined.

  • A variable named printer has been set to the printer's name.

Use the System.Drawing, System.Drawing.Printing, and System.IO namespaces for this example.

public:
   void Printing( String^ printer )
   {
      try
      {
         streamToPrint = gcnew StreamReader( filePath );
         try
         {
            printFont = gcnew System::Drawing::Font( "Arial",10 );
            PrintDocument^ pd = gcnew PrintDocument;
            pd->PrintPage += gcnew PrintPageEventHandler(
               this, &Form1::pd_PrintPage );
            // Specify the printer to use.
            pd->PrinterSettings->PrinterName = printer;
            if ( pd->PrinterSettings->IsValid )
            {
               pd->Print();
            }
            else
            {
               MessageBox::Show( "Printer is invalid." );
            }
         }
         finally
         {
            streamToPrint->Close();
         }
      }
      catch ( Exception^ ex ) 
      {
         MessageBox::Show( ex->Message );
      }
   }
public void Printing(string printer) {
  try {
    streamToPrint = new StreamReader (filePath);
    try {
      printFont = new Font("Arial", 10);
      PrintDocument pd = new PrintDocument(); 
      pd.PrintPage += new PrintPageEventHandler(pd_PrintPage);
      // Specify the printer to use.
      pd.PrinterSettings.PrinterName = printer;

      if (pd.PrinterSettings.IsValid) {
         pd.Print();
      } 
      else {	
         MessageBox.Show("Printer is invalid.");
      }
    } 
    finally {
      streamToPrint.Close();
    }
  } 
  catch(Exception ex) {
    MessageBox.Show(ex.Message);
  }
}
Public Sub Printing(printer As String)
    Try
        streamToPrint = New StreamReader(filePath)
        Try
            printFont = New Font("Arial", 10)
            Dim pd As New PrintDocument()
            AddHandler pd.PrintPage, AddressOf pd_PrintPage
            ' Specify the printer to use.
            pd.PrinterSettings.PrinterName = printer

            If pd.PrinterSettings.IsValid then
               pd.Print()
            Else
               MessageBox.Show("Printer is invalid.")
            End If
        Finally
            streamToPrint.Close()
        End Try
    Catch ex As Exception
        MessageBox.Show(ex.Message)
    End Try
End Sub

Remarks

Typically, you access a PrinterSettings through PrintDocument.PrinterSettings or PageSettings.PrinterSettings properties to modify printer settings. The most common printer setting is PrinterName, which specifies the printer to print to.

For more information about printing with Windows Forms, see the System.Drawing.Printing namespace overview. If you wish to print from a Windows Presentation Foundation application, see the System.Printing namespace.

Note

In .NET 6 and later versions, the System.Drawing.Common package, which includes this type, is only supported on Windows operating systems. Use of this type in cross-platform apps causes compile-time warnings and run-time exceptions. For more information, see System.Drawing.Common only supported on Windows.

Constructors

PrinterSettings()

Initializes a new instance of the PrinterSettings class.

Properties

CanDuplex

Gets a value indicating whether the printer supports double-sided printing.

Collate

Gets or sets a value indicating whether the printed document is collated.

Copies

Gets or sets the number of copies of the document to print.

DefaultPageSettings

Gets the default page settings for this printer.

Duplex

Gets or sets the printer setting for double-sided printing.

FromPage

Gets or sets the page number of the first page to print.

InstalledPrinters

Gets the names of all printers installed on the computer.

IsDefaultPrinter

Gets a value indicating whether the PrinterName property designates the default printer, except when the user explicitly sets PrinterName.

IsPlotter

Gets a value indicating whether the printer is a plotter.

IsValid

Gets a value indicating whether the PrinterName property designates a valid printer.

LandscapeAngle

Gets the angle, in degrees, that the portrait orientation is rotated to produce the landscape orientation.

MaximumCopies

Gets the maximum number of copies that the printer enables the user to print at a time.

MaximumPage

Gets or sets the maximum FromPage or ToPage that can be selected in a PrintDialog.

MinimumPage

Gets or sets the minimum FromPage or ToPage that can be selected in a PrintDialog.

PaperSizes

Gets the paper sizes that are supported by this printer.

PaperSources

Gets the paper source trays that are available on the printer.

PrinterName

Gets or sets the name of the printer to use.

PrinterResolutions

Gets all the resolutions that are supported by this printer.

PrintFileName

Gets or sets the file name, when printing to a file.

PrintRange

Gets or sets the page numbers that the user has specified to be printed.

PrintToFile

Gets or sets a value indicating whether the printing output is sent to a file instead of a port.

SupportsColor

Gets a value indicating whether this printer supports color printing.

ToPage

Gets or sets the number of the last page to print.

Methods

Clone()

Creates a copy of this PrinterSettings.

CreateMeasurementGraphics()

Returns a Graphics that contains printer information that is useful when creating a PrintDocument.

CreateMeasurementGraphics(Boolean)

Returns a Graphics that contains printer information, optionally specifying the origin at the margins.

CreateMeasurementGraphics(PageSettings)

Returns a Graphics that contains printer information associated with the specified PageSettings.

CreateMeasurementGraphics(PageSettings, Boolean)

Creates a Graphics associated with the specified page settings and optionally specifying the origin at the margins.

Equals(Object)

Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode()

Serves as the default hash function.

(Inherited from Object)
GetHdevmode()

Creates a handle to a DEVMODE structure that corresponds to the printer settings.

GetHdevmode(PageSettings)

Creates a handle to a DEVMODE structure that corresponds to the printer and the page settings specified through the pageSettings parameter.

GetHdevnames()

Creates a handle to a DEVNAMES structure that corresponds to the printer settings.

GetType()

Gets the Type of the current instance.

(Inherited from Object)
IsDirectPrintingSupported(Image)

Gets a value indicating whether the printer supports printing the specified image file.

IsDirectPrintingSupported(ImageFormat)

Returns a value indicating whether the printer supports printing the specified image format.

MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
SetHdevmode(IntPtr)

Copies the relevant information out of the given handle and into the PrinterSettings.

SetHdevnames(IntPtr)

Copies the relevant information out of the given handle and into the PrinterSettings.

ToString()

Provides information about the PrinterSettings in string form.

Applies to

See also