System.Printing Namespace

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

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 (WPF). Managed code developers using Windows Forms must use the API in the System.Drawing.Printing namespace.

Public classLocalPrintServerRepresents the local print server (the computer on which your application is running) and enables management of its print queues. This class cannot be inherited.
Public classPageImageableAreaRepresents the area of a page that can be printed. This class cannot be inherited.
Public classPageMediaSizeDescribes the page size for paper or other media.
Public classPageResolutionDefines the page resolution of printed output as either a qualitative value or as dots per inch, or both. This class cannot be inherited.
Public classPageScalingFactorRangeSpecifies a range of percentages by which a printer can enlarge or reduce the print image on a page. This class cannot be inherited.
Public classPrintCapabilitiesDefines the capabilities of a printer. This class cannot be inherited.
Public classPrintCommitAttributesExceptionThe 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.
Public classPrintDocumentImageableAreaSpecifies the size of the paper (or other media), the size of the imageable area, and the location of the imageable area.
Public classPrintDriverRepresents a print driver. This class cannot be inherited.
Public classPrintFilterDo not use.
Public classPrintingCanceledExceptionThe exception that occurs when code attempts to access a canceled print job.
Public classPrintJobExceptionThe exception that occurs when the print job does not run correctly.
Public classPrintJobInfoCollectionRepresents one or more PrintSystemJobInfo objects.
Public classPrintJobSettingsDescribes a print job.
Public classPrintPortRepresents a printer port on a print server. Each print queue has a print port assigned to it. This class cannot be inherited.
Public classPrintProcessorRepresents a print processor on a print server. This class cannot be inherited.
Public classPrintQueueManages printers and print jobs.
Public classPrintQueueCollectionRepresents a collection of PrintQueue objects.
Public classPrintQueueExceptionThe exception that is thrown when an error condition prevents the accessing or creation of a PrintQueue.
Public classPrintQueueStreamA stream that represents a spooled print job in a print queue.
Public classPrintQueueStringPropertyRepresents one, and only one, of three possible properties of a print queue: Location, Comment, or ShareName.
Public classPrintServerManages the print queues on a print server, which is usually a computer, but can be a dedicated hardware print server appliance.
Public classPrintServerExceptionThe exception that occurs when an error condition prevents the accessing or creation of a PrintServer.
Public classPrintSystemExceptionThe exception that occurs when an error condition prevents the accessing or creation of a PrintSystemObject.
Public classPrintSystemJobInfoDefines a print job in detail.
Public classPrintSystemObjectDefines 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.
Public classPrintSystemObjectPropertiesChangedEventArgsProvides data for a PropertiesChanged event, which you must create.
Public classPrintSystemObjectPropertyChangedEventArgsProvides data for a PropertyChanged event, which you must create.
Public classPrintSystemObjectsWhen overridden in a derived class, represents a collection of objects of the derived type.
Public classPrintTicketDefines the settings of a print job. This class cannot be inherited.

Public structureValidationResultRepresents two things: (1) a merged PrintTicket that is guaranteed to be viable, and (2) a report as to whether any settings had to be changed to ensure that it is viable.

Public enumerationCollationSpecifies whether a printer collates output when it prints multiple copies of a multi-page print job.
Public enumerationConflictStatusSpecifies whether any changes were made to a merged PrintTicket to ensure a viable PrintTicket.
Public enumerationDeviceFontSubstitutionSpecifies whether device font substitution is enabled on a printer.
Public enumerationDuplexingSpecifies whether a printer uses one-sided printing or some type of two-sided (duplex) printing.
Public enumerationEnumeratedPrintQueueTypesSpecifies attributes of print queues.
Public enumerationInputBinSpecifies the input bin that is used as the source of blank paper or other print media.
Public enumerationLocalPrintServerIndexedPropertySpecifies the properties of a LocalPrintServer object that are initialized when it is constructed.
Public enumerationOutputColorSpecifies how to print content that contains color or shades of gray.
Public enumerationOutputQualitySpecifies the types of output quality for a print device.
Public enumerationPageBorderlessSpecifies whether a print device prints to the edge of the media or provides an unprinted margin around the edge.
Public enumerationPageMediaSizeNameSpecifies the page size or roll width of the paper or other print media.
Public enumerationPageMediaTypeSpecifies types of printing paper or other media.
Public enumerationPageOrderSpecifies whether a print device prints multi-page documents from front-to-back or back-to-front.
Public enumerationPageOrientationSpecifies how pages of content are oriented on print media.
Public enumerationPageQualitativeResolutionSpecifies the page resolution as a qualitative, non-numerical, value.
Public enumerationPagesPerSheetDirectionSpecifies the arrangement of pages when more than one page of content appears on a single side of print media.
Public enumerationPhotoPrintingIntentSpecifies the quality of output when a photograph is printed. The printer driver translates the PhotoPrintingIntent into quantitative values for resolution and other quality factors.
Public enumerationPrintJobPrioritySpecifies a non-numerical priority for a print job relative to other print jobs in the print queue.
Public enumerationPrintJobStatusSpecifies the current status of a print job in a print queue.
Public enumerationPrintJobTypeSpecifies whether the print job uses XML Paper Specification (XPS).
Public enumerationPrintQueueAttributesSpecifies the attributes of a print queue and its printer.
Public enumerationPrintQueueIndexedPropertySpecifies the properties that are initialized when a PrintQueue object is constructed.
Public enumerationPrintQueueStatusSpecifies the status of a print queue or its printer.
Public enumerationPrintQueueStringPropertyTypeSpecifies the intended meaning of a PrintQueueStringProperty.
Public enumerationPrintServerEventLoggingTypesSpecifies the types of events that can be logged by a PrintServer.
Public enumerationPrintServerIndexedPropertySpecifies the properties of a PrintServer object that are initialized when it is constructed.
Public enumerationPrintSystemDesiredAccessSpecifies the different access rights (or levels of access) for printing objects.
Public enumerationPrintSystemObjectLoadModeSpecifies whether the properties of an object are initialized when the object loads.
Public enumerationPrintTicketScopeSpecifies whether a PrintTicket applies to an entire print job, one document within the print job, or just a page within the print job.
Public enumerationStaplingSpecifies whether, and where, a printer staples a multi-page document.
Public enumerationTrueTypeFontModeSpecifies how a printer handles text that is formatted with a TrueType font.