Personal Printer Data Stream

Personal Printer Data Stream is a general name for a family of page description language used by IBM printers, which includes all Proprinter, Quietwriter, Quickwriter, LaserPrinter 4019, and LaserPrinter 4029 commands.

PPDS was introduced to control printers in 1981 with the launch of IBM Graphics Printer 5152. Originally called IBM ASCII, Proprinter, Quickwriter, or Quietwriter data stream, the name was changed to PPDS when the IBM LaserPrinter was introduced in 1989.

PPDS has different levels of functions that are all upward compatible. Although many laser or inkjet printers do not support PPDS, those that support binary printer languages still use the ESC syntax, which include Printer Command Language versions 1 to 5 and the Epson ESC/P command set.

Level 1
Level 1 is the basic level of PPDS, providing the basic services needed by any printer. This level is represented by the 9- and 24-pin Proprinter family of printers. Within this level, the typical differences among the printers are as follows:
 * Font Selection: The basic set of 10, 17.1 and 12 CPI is supported
 * Raster Graphics: Top image resolution was up to 72x240

Level 2
Level 2 incorporates enhancements in the font selection, print quality selection and paper handling. This level is represented by the Quietwriter and Quickwriter family of products. The following commands enable you to use these enhancements:
 * Select Font Global: Allows the IBM font global identifier to select fonts
 * Select Code page: Allows the IBM code page identifier to select the code page or character set
 * Page Presentation Media: Allows cut sheet and envelope feeding from one or more sources
 * Space Forward and Backward: Allows easier text justification

Level 3
Level 3 provides enhancements to the previous PPDS levels for page type printers, such as the IBM LaserPrinter 4019. The enhancements are:
 * Cursor positioning: Allows the placement of text and images at any position on the page
 * Save and Manage Macros: For working with form overlays and repetitive command sequences
 * Rule and Fill: Allows the filling of drawings with different patterns
 * Page orientation: Allows changing of the page's orientation

Level 4
Level 4 adds new features of the IBM LaserPrinter 4029 to the previous PPDS levels. These features include compression, scalable fonts, and enhanced orientations.
 * Raster Image: Allows the compression and decompression of data
 * Comprehensive Font Selection: Added support for scalable fonts
 * Set Print Angle: Adds support for different angles

PPDS vs. PCL 1-5
Both languages define different printable areas for a given physical medium. PCL and PPDS use different characteristics or orders when searching for a substitute font. PCL uses ASCII-encoded numerical values as command parameters, while PPDS uses binary encoded parameters.

Modern printer support
Several modern Lexmark printers (for example, the Lexmark MS510/610 series, or the MFP MX511/611 series) support PPDS Level 4 in order to provide a high level of support for legacy applications which were written specifically for IBM 4019 and 4029 laser printers.