Printer Command Language
Encyclopedia
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 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 quite a bit of 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 driver
s under Windows
and CUPS
. Due to its structure and compression methodology, it is rarely used by custom applications.
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.
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.
Page description language
A page description language is a language that describes the appearance of a printed page in a higher level than an actual output bitmap. An overlapping term is printer control language, but it should not be confused as referring solely to Hewlett-Packard's PCL...
(PDL) developed by Hewlett-Packard
Hewlett-Packard
Hewlett-Packard Company or HP is an American multinational information technology corporation headquartered in Palo Alto, California, USA that provides products, technologies, softwares, solutions and services to consumers, small- and medium-sized businesses and large enterprises, including...
as a printer
Computer printer
In computing, a printer is a peripheral which produces a text or graphics of documents stored in electronic form, usually on physical print media such as paper or transparencies. Many printers are primarily used as local peripherals, and are attached by a printer cable or, in most new printers, a...
protocol and has become a de facto
De facto
De facto is a Latin expression that means "concerning fact." In law, it often means "in practice but not necessarily ordained by law" or "in practice or actuality, but not officially established." It is commonly used in contrast to de jure when referring to matters of law, governance, or...
industry standard. Originally developed for early inkjet printers in 1984, PCL has been released in varying levels for thermal
Thermal printer
A thermal printer produces a printed image by selectively heating coated thermochromic paper, or thermal paper as it is commonly known, when the paper passes over the thermal print head. The coating turns black in the areas where it is heated, producing an image...
, matrix printer
Dot matrix
A dot matrix is a 2-dimensional array of LED used to represent characters, symbols and images.Typically the dot matrix is used in older computer printers and many digital display devices. In printers, the dots are usually the darkened areas of the paper...
, and page printers. HP-GL
HPGL
HPGL, sometimes hyphenated as HP-GL, was the primary printer control language used by Hewlett-Packard plotters. The name is an initialism for Hewlett-Packard Graphics Language. It later became a standard for almost all plotters...
and PJL
Printer Job Language
Printer Job Language is a method developed by Hewlett-Packard for switching printer languages at the job level, and for status readback between the printer and the host computer. PJL adds job level controls, such as printer language switching, job separation, environment, status readback, device...
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
Page description language
A page description language is a language that describes the appearance of a printed page in a higher level than an actual output bitmap. An overlapping term is printer control language, but it should not be confused as referring solely to Hewlett-Packard's PCL...
.
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 1 was introduced in 1984 on the HP ThinkJet 2225 and provides basic text and graphics printing with a maximum resolution of 150 dpi (dots per inch).
- PCL 1+ was released with the HP QuietJet 2227.
- PCL 2 added Electronic Data Processing/Transaction functionality.
- PCL 3 was introduced in 1984 with the original HP LaserJetLaserJetLaserJet as a brand name identifies the line of dry electrophotographic laser printers marketed by the American computer-company Hewlett-Packard . The HP LaserJet was the world's first desktop laser printer.-Technology:...
http://h20000.www2.hp.com/bizsupport/TechSupport/Document.jsp?objectID=bpl04568. This added support for bitmap fonts and increased the maximum resolution to 300 dpi. Other products with PCL 3 support were the HP DeskJetDeskjetDeskjet is a brand name for inkjet printers manufactured by Hewlett-Packard. These printers range from small domestic to large industrial models, although the largest models in the range have generally been dubbed DesignJet...
ink jet printer, HP 2932 series matrix printers and HP RuggedWriter 2235 matrix printers. PCL 3 is still in use on several impact printers which replaced the obsoleted HP models.
- PCL 3+ (mono) and PCL 3c+ (color) are used on later HP DeskJet and HP PhotoSmart products.
- PCL 3GUI is used in the HP DesignJet and some DeskJet series printers. It uses a compressed raster format that is not compatible with standard PCL 3.
- PCL 4 was introduced on the HP LaserJet II http://h20000.www2.hp.com/bizsupport/TechSupport/Document.jsp?objectID=bpl04568 in 1985, adding macros, larger bitmapped fonts and graphics. PCL 4 is still popular for many applications.
- PCL 5 was released on the HP LaserJet III http://h20000.www2.hp.com/bizsupport/TechSupport/Document.jsp?objectID=bpl04568 in March 1990, adding IntellifontIntellifontIntellifont was a scalable font technology developed by Tom Hawkins at Compugraphic in Wilmington, Massachusetts during the late 1980s, the patent for which was granted to Hawkins in 1987. Intellifont fonts were hinted on a Digital Equipment Corporation VAX mainframe computer using Ikarus software...
font scaling (developed by CompugraphicCompugraphicCompugraphic Corporation was an American producer of typesetting systems and phototypesetting equipment, based, at the time of the Agfa merger, in Wilmington, Massachusetts, just a few miles from where it was founded...
, now part of Agfa), outline fonts and HP-GL/2 (vector) graphics.
- PCL 5e (PCL 5 enhanced) was released on the HP LaserJet 4 http://h20000.www2.hp.com/bizsupport/TechSupport/Document.jsp?objectID=bpl04568 in October 1992 and added bi-directional communication between the printer and the PC and WindowsMicrosoft WindowsMicrosoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...
fonts.
- PCL 5c introduced color support on the HP PaintJet 300XL and HP Color LaserJet http://h20000.www2.hp.com/bizsupport/TechSupport/Document.jsp?objectID=bpl04568 in 1992.
PCL 6 overview
PCL 6 was introduced around 1995 with HP LaserJet 4000 series printers http://h20000.www2.hp.com/bizsupport/TechSupport/Document.jsp?objectID=bpl04568, and consists of:- PCL 6 Enhanced: An object-oriented PDLPage description languageA page description language is a language that describes the appearance of a printed page in a higher level than an actual output bitmap. An overlapping term is printer control language, but it should not be confused as referring solely to Hewlett-Packard's PCL...
optimized for printing from GUIGraphical user interfaceIn computing, a graphical user interface is a type of user interface that allows users to interact with electronic devices with images rather than text commands. GUIs can be used in computers, hand-held devices such as MP3 players, portable media players or gaming devices, household appliances and...
interfaces such as WindowsMicrosoft WindowsMicrosoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...
and compressed to optimize throughput. Formerly known as PCL XL. - PCL 6 Standard: Equivalent to PCL 5e or PCL 5c, intended to provide backward compatibility.
- Font synthesis: Provides scalable fonts, font management and storage of forms and fonts.
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
WYSIWYG
WYSIWYG is an acronym for What You See Is What You Get. The term is used in computing to describe a system in which content displayed onscreen during editing appears in a form closely corresponding to its appearance when printed or displayed as a finished product...
printing; improved print quality; and complete backward compatibility. In early implementations, HP did not market PCL 6 well, thus causing quite a bit of 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 driver
Printer driver
In computers, a printer driver or a print processor is a piece of software that converts the data to be printed to the form specific to a printer...
s under Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...
and CUPS
Common Unix Printing System
CUPS is a modular printing system for Unix-like computer operating systems which allows a computer to act as a print server...
. Due to its structure and compression methodology, it is rarely used by custom applications.
PCL 6 Enhanced is a stack-based, object-oriented protocol, similar to PostScript
PostScript
PostScript is a dynamically typed concatenative programming language created by John Warnock and Charles Geschke in 1982. It is best known for its use as a page description language in the electronic and desktop publishing areas. Adobe PostScript 3 is also the worldwide printing and imaging...
. 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
Graphics Device Interface
The Graphics Device Interface is a Microsoft Windows application programming interface and core operating system component responsible for representing graphical objects and transmitting them to output devices such as monitors and printers....
. 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
Display PostScript
Display PostScript is an on-screen display system. As the name implies, DPS uses the PostScript imaging model and language to generate on-screen graphics...
and Apple's Quartz, and is in contrast to "GDI Printers" where a compressed bitmap is sent to the printer.
Class 1.1
- Draw tools: Support drawing lines, arcs/ellipses/chords, (rounded) rectangles, polygons, BezierBézierBézier can refer to:*Pierre Bézier, French engineer and creator of Bézier curves*Bézier curve*Bézier triangle*Bézier spline*Bézier surface* The town of Béziers in France* AS Béziers Hérault, a French rugby union team...
paths, clipped paths, raster images, scanlines, raster operations. - Color handling: Support 1/4/8-bit palettes, RGB/grey color space. Support custom halftone patterns (max 256 patterns).
- Compression: Supports RLE.
- Units of measurement: Inch, millimetre, tenth of millimetre.
- Paper handling: Support custom or predefined sets of paper types, including common Letter, Legal, A4, etc. Can choose paper from manual feed, trays, cassettes. Paper can be duplexed horizontally or vertically. Paper can be oriented in portrait, landscape, or 180 degree rotation of the former two.
- Font: Supports bitmap or TrueType fonts, 8 or 16-bit code points. Choosing character set uses different symbol set code from PCL 5. When bitmap font is used, many scaling commands are unavailable. When TrueType font is used, variable length descriptors, continuation blocks are not supported. Outline font can be rotated, scaled, or sheared.
Class 2.0
- Compression: Added a proprietary JPEG compression called JetReady.
- Paper handling: Media can redirected to different output bins (up to 256). Added A6 and Japanese B6 preset media sizes. Added Third cassette preset, 248 external tray media sources.
- Font: Text can be written vertically.
Class 2.1
- Color handling: Added Color matching feature.
- Compression: Added Delta Row.
- Paper handling: Orientation, media size are optional when declaring a new page. Added B5, JIS 8K, JIS 16K, JIS Exec paper types.
Class 3.0
- Color handling: Allow using different halftone settings for vector or raster graphics, text. Supports adaptive halftoning.
- Protocol: Supports PCL passthrough, allowing PCL 5 features to be used by PCL 6 streams. However, some PCL 6 states are not preserved when using this feature.
- Font: Supports PCL fonts.
- Viewer/Converter: PCLReader (freeware) can view, convert or print any level of PCL 6 (including JetReady) to any printer.
PJL overview
PJL (Printer Job Language
Printer Job Language
Printer Job Language is a method developed by Hewlett-Packard for switching printer languages at the job level, and for status readback between the printer and the host computer. PJL adds job level controls, such as printer language switching, job separation, environment, status readback, device...
) 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
- Encapsulated PostScriptEncapsulated PostScriptEncapsulated PostScript, or EPS, is a DSC-conforming PostScript document with additional restrictions which is intended to be usable as a graphics file format...
- PostScript Printer DescriptionPostScript Printer DescriptionPostScript Printer Description files are created by vendors to describe the entire set of features and capabilities available for their PostScript printers.A PPD also contains the PostScript code used to invoke features for the print job...
- FoomaticFoomaticFoomatic is a configurable printing filter. It uses PPD files as configuration to generate appropriate output for a given printer. It is intended to be used with the Common Unix Printing System . It uses ghostscript in the background, using options according to the PPD file of the printer...
- GNU PlotutilsPlotutilsGNU plotutils is a set of free software command-line tools and software libraries for generating 2D plot graphics based on data sets. It is used in projects such as PSPP and UMLgraph, and in many areas of academic research, and is included in many Linux distributions such as Debian and cygwin. ...