Share via


1.3.4 Printers and Print Data Formats

A printer is a physical device that is provided by an Independent Hardware Vendor (IHV). It prints content on a variety of mediums and includes both traditional 2D printers and 3D printers, cutters, and CNC milling devices that collectively are referred to as 3D manufacturing devices and print physical 3D objects. A printer consumes a data stream that represents a description of a document to be printed or a model to be printed, in the case of a 3D manufacturing device. The data format of that data stream is defined or selected by the IHV that designed the printer or the 3D manufacturing device.

There are several actual standards for these vendor-defined page description languages (PDLs), which include PostScript [PS-PPD4.3], Portable Document Format (PDF) [ISO-32000-1], Hewlett-Packard Printer Control Language (PCL), and the XML Paper Specification (XPS) [MSFT-XMLPAPER]. Other vendor-specific print data formats are also in use.

For applications to use different printer or 3D manufacturing technologies in a uniform manner, the Windows graphical subsystem abstracts the details of the print data formats. Windows relies on the services that are provided by printer drivers and print processors to abstract details of data formats. Data formats can be native PDLs that are sent directly to the device; or the XPS and metafile formats such as EMF [MS-EMFSPOOL], which are be re-rendered to a PDL before they are sent to a printer.

Regardless of the data format, all print data streams that are sent from a print client to a print server are collectively referred to as payloads. Print payloads are sent from a print client to a print server by using one of the member protocols of the Print Services system.