Jump to content

Printer Command Language

From Alfawiki
Printer Command Language (PCL)
Company typePage description language
IndustryPrinting technology
Founded1984
FounderHewlett-Packard
ProductsPrinter communication protocol, page description language
ParentHewlett-Packard

Printer Command Language, commonly known as PCL, is a page description language (PDL) created by Hewlett-Packard to serve as a printer communication protocol and has since become an informal industry benchmark. Initially designed for early inkjet printing devices in 1984, PCL has expanded its support to include thermal, matrix, and page printing technologies. Subsequent iterations incorporated compatibility with HP-GL/2 and PJL.

It is important to note that PCL is occasionally confused with the term Printer Control Language, which actually refers to a distinct type of PDL.

Overview of PCL levels 1 through 5

PCL versions 1 through 5e/5c operate via sequential command-based control codes. While print drivers typically generate PCL streams for end users, specialized software can also produce PCL output.

  • PCL 1 was introduced in 1984 with the HP ThinkJet 2225, providing fundamental text and graphics printing capabilities at resolutions up to 150 dpi.
  • PCL 1+ made its debut alongside the HP QuietJet 2227.
  • PCL 2 incorporated Electronic Data Processing and transaction-related features.
  • PCL 3, released in 1984 with the original HP LaserJet, supported bitmap fonts and enhanced resolution to 300 dpi. This version was also implemented in HP DeskJet inkjet printers, HP 2932 series matrix printers, and the HP RuggedWriter 2235 impact printer. Some impact printers continue to utilize PCL 3 today.
  • PCL 3+ (monochrome) and PCL 3c+ (color) were introduced on subsequent models of HP DeskJet and PhotoSmart printers.
  • PCL 3GUI, found in HP DesignJet, select DeskJet, and OfficeJet devices, employs a compressed raster format that is incompatible with standard PCL 3.
  • PCL 4, launched with the HP LaserJet Plus in 1985, added support for macro commands, larger bitmapped fonts, and improved graphics capabilities; it remains widely used for various purposes.
  • PCL 5, which arrived with the HP LaserJet III in March 1990, introduced Intellifont font scaling technology (originating from Compugraphic, now part of Agfa), outline font support, and HP-GL/2 vector graphics.
  • PCL 5e (enhanced), released with the HP LaserJet 4 in October 1992, enabled bi-directional communication between printer and computer as well as compatibility with Windows fonts.
  • PCL 5c brought color printing capabilities to devices such as the HP PaintJet 300XL and HP Color LaserJet in 1992.

Summary of PCL 6

Around 1995, HP launched PCL 6 alongside the HP LaserJet 5 series printers. Key components include:

  • PCL 6 "Enhanced": An object-oriented PDL tailored for printing from GUI environments like Windows, featuring compression to boost data throughput. This variant was formerly identified as PCL XL or PXL.
  • PCL 6 Standard: Corresponds to PCL versions 5e or 5c, ensuring backward compatibility.
  • Font synthesis: Provides scalable font options, comprehensive font management, and facilities for storing forms and fonts.

The modular design of PCL 6 "Enhanced" facilitates easier updates for future HP printer models. It accelerates rendering of complex graphics, reduces network load, and enhances output quality. Early marketing efforts for PCL 6 were limited, resulting in some confusion regarding terminology; although PCL XL was rebranded as PCL 6 Enhanced, many third-party vendors continue using the original term.

Certain products claim to support PCL 6 but might not offer full backward compatibility with PCL 5. The generation of PCL 6 Enhanced streams primarily occurs via printer drivers on Windows or through the CUPS. Due to its structure and compression methods, direct use by custom applications is uncommon.

PCL 6 Enhanced employs a stack-based, object-oriented protocol comparable to PostScript, but it restricts encoding to binary only, unlike PostScript which supports both binary and plain-text formats. Documentation often includes plain-text commands that require compilation—using tools such as HP's JetASM—prior to printing.

Designed to align closely with the Windows GDI rendering model, Windows drivers transmit GDI commands with minimal alteration, resulting in quicker application response times. Microsoft extended this concept through the development of the XPS format; printer implementations supporting XPS are currently underway. This methodology resembles approaches like Display Postscript and Apple's Quartz system, differing from "GDI Printers" that send compressed bitmap data.

Class 1.1

  • Drawing capabilities: Includes support for lines, arcs, ellipses, chords, (rounded) rectangles, polygons, Bézier paths, clipped paths, raster images, scanlines, and raster operations.
  • Color management: Handles 1-, 4-, and 8-bit palettes; supports RGB and grayscale color spaces; allows custom halftone patterns with up to 256 levels.
  • Compression methods: Utilizes RLE compression.
  • Measurement units: Accepts inches, millimeters, and tenths of millimeters.
  • Paper handling: Offers predefined or custom paper dimensions (such as Letter, Legal, A4); supports media selection from manual feed, trays, or cassettes; enables duplex printing in horizontal or vertical modes; supports portrait, landscape, and 180° rotation orientations.
  • Fonts: Compatible with bitmap or TrueType fonts using 8- or 16-bit code points. Character set choices differ from PCL 5 symbol sets. Bitmap fonts restrict scaling commands; TrueType fonts lack support for variable length descriptors or continuation blocks. Outline fonts can be rotated, scaled, or sheared.

Class 2.0

  • Compression: Introduced JPEG compression through a proprietary format called JetReady, optimized for integer-based hardware. This is implemented in certain HP Color LaserJet models (CLJ 3500, 3550, 3600), which require Class 3.0 input streams.
  • Paper handling: Expanded media routing capabilities to accommodate up to 256 output bins; added A6 and Japanese B6 standard sizes; included a third cassette preset supporting up to 248 external tray media sources.
  • Fonts: Added support for vertical text orientation.

Class 2.1

  • Color management: Incorporated color matching functionality.
  • Compression: Added Delta Row compression technique.
  • Paper handling: Made specifying orientation and media size optional when initiating new pages; introduced B5, JIS 8K, JIS 16K, and JIS Exec paper sizes.

Class 2.2

  • Compression: Integrated support for JFIF format.

Class 3.0

  • Color management: Enabled distinct halftone configurations for vector graphics, raster images, and text elements, including adaptive halftoning options.
  • Protocol features: Allowed PCL passthrough to embed PCL 5 functionalities within PCL 6 streams, although some PCL 6 states may not be retained.
  • Fonts: Full support for PCL fonts.

JetReady printers (models CLJ 3500/3550/3600) depend on undocumented extensions but require input streams conforming to Class 3.0 specifications.

PJL overview

Printer Job Language (PJL) was first introduced with the HP LaserJet IIIsi series. It brought job-level controls such as switching printer languages mid-job, separating print jobs, managing environment variables, providing status feedback, device attendance notifications, and file system commands—significantly enhancing print job control and device communication.

See also

Further reading

  • PCL 5e Technical Quick Reference Guide, Hewlett-Packard
  • PCL 5e Technical Reference Manual Part 1, Hewlett-Packard
  • PCL 5e Technical Reference Manual Part 2, Hewlett-Packard
  • PCL 5 Color Technical Reference Manual, Hewlett-Packard
  • PCL 5 Comparison Guide, Hewlett-Packard
  • PCL 5 Comparison Guide Addendum, Hewlett-Packard

External links

  • Hewlett-Packard: HP PCL XL (PCL 6) 2.0 Technical Reference, Revision 2.2
  • Hewlett-Packard (archived): Overview of the Enhanced PCL XL or PCL 6 Driver
  • Hewlett-Packard (archived): Differences and Features of PCL 3 and PCL 5/6
  • Hewlett-Packard (archived): Product Specifications for HP RuggedWriter Printer
  • IBM (archived): Supported HP Printers and Corresponding PCL Levels