Printer Command Language

Printer Command Language, more commonly referred to as PCL, is a page description language (PDL) developed by Hewlett-Packard as a printer protocol and has become a de facto industry standard. Originally developed for early inkjet printers in 1984, PCL has been released in varying levels for thermal, matrix printer, and page printers. HP-GL and PJL are supported by later versions of PCL.

PCL is occasionally and incorrectly said to be an abbreviation for Printer Control Language which actually is another term for Page description language.

PCL levels 1 through 5 overview

PCL levels 1 through 5e/5c are command based languages using control sequences that are processed and interpreted in the order they are received. At a consumer level, PCL data streams are generated by a print driver. PCL output can also be easily generated by custom applications.

PCL 6 overview

HP introduced PCL 6 around 1995 with the HP LaserJet 4000 series printers.[2] It consists of:

PCL 6 Enhanced features a new modular architecture that can be easily modified for future HP printers; faster return to application; faster printing of complex graphics; more efficient data streams for reduced network traffic; better WYSIWYG printing; improved print-quality; and complete backward compatibility. In early implementations, HP did not market PCL 6 well , thus causing some confusion in terminology. PCL XL was renamed to PCL 6 Enhanced, but many third-party products still use the older term. Some products may claim to be PCL 6 compliant, but may not include the PCL 5 backward compatibility. PCL 6 Enhanced is primarily generated by the printer drivers under Windows and CUPS. Due to its structure and compression methodology, custom applications rarely use it directly.

PCL 6 Enhanced is a stack-based, object-oriented protocol, similar to PostScript. However, it is restricted to binary encoding as opposed to PostScript, which can be sent either as binary code or as plain text. The plain-text commands and code examples shown in the PCL programming documentation are meant to be compiled with a utility like HP's JetASM before being sent to a printer. Perhaps because PCL 6 is designed for small size, operators are not as flexible or orthogonal as in PostScript.

PCL 6 Enhanced is designed to match the drawing model of Windows GDI. In this way, the Windows printer driver simply passes through GDI commands with very little modification, leading to faster return-to-application times. Microsoft has extended this concept with its next-generation XPS format, and printer implementations of XPS are being developed. This is not a new idea: it is comparable with Display Postscript and Apple's Quartz, and is in contrast to "GDI Printers" where a compressed bitmap is sent to the printer.

PCL 6 class revisions

Class 1.1

Class 2.0

Class 2.1

Class 2.2

Class 3.0

JetReady printers (CLJ 3500/3550/3600) use undocumented extensions but otherwise mandates Class 3.0 inputs.

PJL overview

Main article: Printer Job Language

PJL (Printer Job Language) was introduced on the HP LaserJet IIIsi. PJL adds job level controls, such as printer language switching, job separation, environment commands, status readback, device attendance and file system commands.

See also

References

  1. 1.0 1.1 1.2 1.3 1.4 Hewlett-Packard Co. (2013-10-29). "HP Support document - HP Support Center". H20000.www2.hp.com. Retrieved 2014-03-10.
  2. "HP Color LaserJet and LaserJet Series Printers - History of Printer Command Language (PCL) - bpl04568 - HP Business Support Center". H20000.www2.hp.com. 2005-12-13. Retrieved 2012-07-06.

External links