System.Printing Namespace

Provides classes that enable you to automate the management of print servers, print queues, and print jobs.

Classes

LocalPrintServer

Represents the local print server (the computer on which your application is running) and enables management of its print queues.

PageImageableArea

Represents the area of a page that can be printed.

PageMediaSize

Describes the page size for paper or other media.

PageResolution

Defines the page resolution of printed output as either a qualitative value or as dots per inch, or both.

PageScalingFactorRange

Specifies a range of percentages by which a printer can enlarge or reduce the print image on a page.

PrintCapabilities

Defines the capabilities of a printer.

PrintCommitAttributesException

The exception that is thrown when an error condition prevents some attributes from being committed by a PrintSystemObject to the actual computer, printer, or device that the object represents.

PrintDocumentImageableArea

Specifies the size of the paper (or other media), the size of the imageable area, and the location of the imageable area.

PrintDriver

Represents a print driver.

PrintFilter

Defines disposal behavior that is common to both the PrintDriver and PrintProcessor classes. PrintFilter supports the Windows Presentation Foundation (WPF) infrastructure and is not intended to be used directly from your code.

PrintingCanceledException

The exception that occurs when code attempts to access a canceled print job.

PrintingNotSupportedException

The exception that is thrown when a printing operation is not supported.

PrintJobException

The exception that occurs when the print job does not run correctly.

PrintJobInfoCollection

Represents one or more PrintSystemJobInfo objects.

PrintJobSettings

Describes a print job.

PrintPort

Represents a printer port on a print server. Each print queue has a print port assigned to it.

PrintProcessor

Represents a print processor on a print server.

PrintQueue

Manages printers and print jobs.

PrintQueueCollection

Represents a collection of PrintQueue objects.

PrintQueueException

The exception that is thrown when an error condition prevents the accessing or creation of a PrintQueue.

PrintQueueStream

A stream that represents a spooled print job in a print queue.

PrintQueueStringProperty

Represents one, and only one, of three possible properties of a print queue: Location, Comment, or ShareName.

PrintServer

Manages the print queues on a print server, which is usually a computer, but can be a dedicated hardware print server appliance.

PrintServerException

The exception that occurs when an error condition prevents the accessing or creation of a PrintServer.

PrintSystemException

The exception that occurs when an error condition prevents accessing or creating a PrintSystemObject.

PrintSystemJobInfo

Defines a print job in detail.

PrintSystemObject

Defines basic properties and methods that are common to the objects of the printing system. Classes that derive from this class represent such objects as print queues, print servers, and print jobs.

PrintSystemObjectPropertiesChangedEventArgs

Provides data for a PropertiesChanged event, which you must create.

PrintSystemObjectPropertyChangedEventArgs

Provides data for a PropertyChanged event, which you must create.

PrintSystemObjects

Represents a collection of print system objects.

PrintTicket

Defines the settings of a print job.

Structs

ValidationResult

Represents a merged PrintTicket that is guaranteed to be viable, with a report of any settings that were changed to make it viable.

Enums

Collation

Specifies whether a printer collates output when it prints multiple copies of a multi-page print job.

ConflictStatus

Specifies whether any changes were made to a merged PrintTicket to ensure a viable PrintTicket.

DeviceFontSubstitution

Specifies whether device font substitution is enabled on a printer.

Duplexing

Specifies whether a printer uses one-sided printing or some type of two-sided (duplex) printing.

EnumeratedPrintQueueTypes

Specifies attributes of print queues.

InputBin

Specifies the input bin that is used as the source of blank paper or other print media.

LocalPrintServerIndexedProperty

Specifies the properties of a LocalPrintServer object that are initialized when it is constructed.

OutputColor

Specifies how to print content that contains color or shades of gray.

OutputQuality

Specifies the types of output quality for a print device.

PageBorderless

Specifies whether a print device prints to the edge of the media or provides an unprinted margin around the edge.

PageMediaSizeName

Specifies the page size or roll width of the paper or other print media.

PageMediaType

Specifies types of printing paper or other media.

PageOrder

Specifies whether a print device prints multi-page documents from front-to-back or back-to-front.

PageOrientation

Specifies how pages of content are oriented on print media.

PageQualitativeResolution

Specifies the page resolution as a qualitative, non-numerical, value.

PagesPerSheetDirection

Specifies the arrangement of pages when more than one page of content appears on a single side of print media.

PhotoPrintingIntent

Specifies the quality of output when a photograph is printed. The printer driver translates the PhotoPrintingIntent into quantitative values for resolution and other quality factors.

PrintJobPriority

Specifies a non-numerical priority for a print job relative to other print jobs in the print queue.

PrintJobStatus

Specifies the current status of a print job in a print queue.

PrintJobType

Specifies whether the print job uses XML Paper Specification (XPS).

PrintQueueAttributes

Specifies the attributes of a print queue and its printer.

PrintQueueIndexedProperty

Specifies the properties that are initialized when a PrintQueue object is constructed.

PrintQueueStatus

Specifies the status of a print queue or its printer.

PrintQueueStringPropertyType

Specifies the intended meaning of a PrintQueueStringProperty.

PrintServerEventLoggingTypes

Specifies the types of events that can be logged by a PrintServer.

PrintServerIndexedProperty

Specifies the properties of a PrintServer object that are initialized when it is constructed.

PrintSystemDesiredAccess

Specifies the different access rights (or levels of access) for printing objects.

PrintSystemObjectLoadMode

Specifies whether the properties of an object are initialized when the object loads.

PrintTicketScope

Specifies whether a PrintTicket applies to an entire print job, one document within the print job, or just a page within the print job.

Stapling

Specifies whether, and where, a printer staples a multi-page document.

TrueTypeFontMode

Specifies how a printer handles text that is formatted with a TrueType font.

Remarks

This namespace contains the following core classes:

  • The PrintSystemObject class, which is the base class for the other core printing classes.

  • The PrintServer class, which represents an actual print server, usually a computer.

  • The PrintQueue class, which represents an actual print queue and its printer.

  • The PrintSystemJobInfo class, which represents a particular print job.

  • The PrintTicket class, which instructs the printer how to process a print job.

Classes derived from the PrintSystemObject class each have a Commit and a Refresh method. You must use these methods to ensure that instances of the classes are synchronized with the hardware or software components that they represent.

The System.Printing namespace also includes many enumerations that describe printer capabilities, such as whether a printer can produce collated output, and that specify instructions to printers, such as the paper size to use for a print job.

This namespace is part of the enhanced printing services provided with Windows Presentation Foundation. Managed code developers using Windows Forms must use the APIs in the System.Drawing.Printing namespace.

Caution

Classes within the System.Printing namespace are not supported for use within a Windows service or ASP.NET application or service. Attempting to use these classes from within one of these application types may produce unexpected problems, such as diminished service performance and run-time exceptions.

See also