Printer Command Language

Last updated
Printer Command Language
Internet media type
application/vnd.hp-PCL

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, and page printers. HP-GL/2 and PJL are supported by later versions of PCL. [1]

Contents

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. [3] It consists of:

PCL 6 "Enhanced" architecture was altered to be more modular and to be more easily modified for future HP printers, that it prints complex graphics faster, that it reduces network traffic, and has higher quality. In early implementations, HP did not market PCL 6 well[ citation needed ], 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.

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

  • Draw tools: Support drawing lines, arcs/ellipses/chords, (rounded) rectangles, polygons, Bézier 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, millimeter, tenth of millimeter.
  • Paper handling: Support custom or predefined sets of paper size, 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 JPEG compression. A Proprietary variant of JPEG-like compression optimized for integer hardware called JetReady is used in a few HP Color Laserjet models (at the time of writing, 3 models, CLJ 3500, 3550, 3600). Those models require Class 3.0 inputs.
  • 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 sizes.

Class 2.2

  • Compression: Added JFIF.

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.

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

PJL overview

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 feedback, device attendance and file system commands.

See also

Related Research Articles

<span class="mw-page-title-main">PostScript</span> File format and programming language

PostScript (PS) is a page description language in the electronic publishing and desktop publishing realm. It is a dynamically typed, concatenative programming language. It was created at Adobe Systems by John Warnock, Charles Geschke, Doug Brotz, Ed Taft and Bill Paxton from 1982 to 1984.

In digital printing, a page description language (PDL) is a computer 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, which includes Hewlett-Packard's Printer Command Language (PCL). PostScript is one of the most noted page description languages. The markup language adaptation of the PDL is the page description markup language.

<span class="mw-page-title-main">Raster graphics</span> Matrix-based data structure

In computer graphics and digital photography, a raster graphic represents a two-dimensional picture as a rectangular matrix or grid of square pixels, viewable via a computer display, paper, or other display medium. A raster is technically characterized by the width and height of the image in pixels and by the number of bits per pixel. Raster images are stored in image files with varying dissemination, production, generation, and acquisition formats.

<span class="mw-page-title-main">Raster image processor</span>

A raster image processor (RIP) is a component used in a printing system which produces a raster image also known as a bitmap. Such a bitmap is used by a later stage of the printing system to produce the printed output. The input may be a page description in a high-level page description language such as PostScript, PDF, or XPS. The input can also be or include bitmaps of higher or lower resolution than the output device, which the RIP resizes using an image scaling algorithm.

<span class="mw-page-title-main">Laser printing</span> Electrostatic digital printing process

Laser printing is an electrostatic digital printing process. It produces high-quality text and graphics by repeatedly passing a laser beam back and forth over a negatively charged cylinder called a "drum" to define a differentially charged image. The drum then selectively collects electrically charged powdered ink (toner), and transfers the image to paper, which is then heated to permanently fuse the text, imagery, or both, to the paper. As with digital photocopiers, laser printers employ a xerographic printing process. Laser printing differs from traditional xerography as implemented in analog photocopiers in that in the latter, the image is formed by reflecting light off an existing document onto the exposed drum.

A page printer is a computer printer which processes and prints a whole page at a time, as opposed to printers which print one line or character at a time such as line printers and dot-matrix printers. Page printers are often all incorrectly termed “laser printers”—although virtually all laser printers are page printers, other page printing technologies also exist

<span class="mw-page-title-main">LaserWriter</span> Laser printer by Apple

The LaserWriter is a laser printer with built-in PostScript interpreter sold by Apple, Inc. from 1985 to 1988. It was one of the first laser printers available to the mass market. In combination with WYSIWYG publishing software like PageMaker, that operated on top of the graphical user interface of Macintosh computers, the LaserWriter was a key component at the beginning of the desktop publishing revolution.

HP-GL, short for Hewlett-Packard Graphics Language and often written as HPGL, is a printer control language created by Hewlett-Packard (HP). HP-GL was the primary printer control language used by HP plotters. It was introduced with the plotter HP-9872 in 1977 and became a standard for almost all plotters. Hewlett-Packard's printers also usually support HP-GL/2 in addition to PCL.

In computers, a printer driver or a print processor is a piece of software on a computer that converts the data to be printed to a format that a printer can understand. The purpose of printer drivers is to allow applications to do printing without being aware of the technical details of each printer model.

<span class="mw-page-title-main">HP LaserJet</span> Brand of laser printers

LaserJet as a brand name identifies the line of laser printers marketed by the American computer company Hewlett-Packard (HP). The HP LaserJet was the world’s first desktop laser printer. Canon supplies both mechanisms and cartridges for most HP laser printers; some larger A3 models use Samsung print engines.

An image file format is a file format for a digital image. There are many formats that can be used, such as JPEG, PNG, and GIF. Most formats up until 2022 were for storing 2D images, not 3D ones. The data stored in an image file format may be compressed or uncompressed. If the data is compressed, it may be done so using lossy compression or lossless compression. For graphic design applications, vector formats are often used. Some image file formats support transparency.

Printer Job Language (PJL) 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 attendance and file system commands.

UniDrv is a GDI-based Microsoft Windows universal printer driver and architecture for non-PostScript printers. It is used to simplify driver development of non-PostScript printers for printer manufacturers. Unidrv allows the creation of a printer-specific minidriver in the form of a GPD file, similar to a PPD file, which is much simpler than kernel mode driver development. Unidrv was introduced in Windows 2000 and replaced the Raster Device Driver (RASDD) interface used in Windows NT 4.0 and earlier versions.

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.

<span class="mw-page-title-main">HP LaserJet 4</span>

The HP LaserJet 4 is a group of monochrome laser printers produced in the early to mid-1990s as part of the LaserJet series by Hewlett-Packard (HP). The 4 series has various models, including the standard LaserJet 4 for business use, the 4L for personal use and the 4P for small businesses. Additional models included the 4Si model, created as a heavy-duty business printer, and the 4V model, a B-size printer for desktop publishing and graphic artists. There are also PostScript variants of these machines with the '4M' designation, where M stands for, but is not limited to, usage with an Apple Macintosh. Hewlett-Packard also released an upgraded version of the LaserJet 4/4M known as the 4 Plus ('4+')/4M Plus ('4M+').

<span class="mw-page-title-main">HP LaserJet 4000 series</span>

The LaserJet 4000 series is Hewlett-Packard's medium-duty monochrome laser printer range and the successor to the LaserJet 5 series.

The Hewlett-Packard Raster Transfer Language is a subset of the Printer Command Language (PCL) language. It is used to embed true raster images (bitmaps) into plotter files. Modern plotters are raster devices, so they need a raster-based language. For backward compatibility they also support the HP-GL/2 vector language, so the HP RTL language is designed for mixing with the HP-GL/2 language.

Intellifont is 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. In 1990, printer and computing system manufacturer Hewlett-Packard adopted Intellifont scaling as part of its PCL 5 printer control protocol, and Intellifont technology was shipped with HP LaserJet III and 4 printers. In 1991, Commodore released AmigaOS 2.04, which included a version of diskfont.library that contained the Bullet font scaling engine, with native support for the format. Intellifont technology became part of Agfa-Gevaert's Universal Font Scaling Technology (UFST), which allows OEMs to produce printers capable of printing on either the Adobe systems PostScript or HP PCL language.

In computing HP Roman is a family of character sets consisting of HP Roman Extension, HP Roman-8, HP Roman-9 and several variants. Originally introduced by Hewlett-Packard around 1978, revisions and adaptations were published several times up to 1999. The 1985 revisions were later standardized as IBM codepages 1050 and 1051. Supporting many European languages, the character sets were used by various HP workstations, terminals, calculators as well as many printers, also from third-parties.

"Harlequin (software)" is a raster image processor first released in 1990 under the name ScriptWorks running as a command-line application to render PostScript language files under Unix. It was developed by Harlequin, a software company based in Cambridge, England.

References

  1. PCL 5 Printer Language Technical Reference Manual (1st ed.). Hewlett-Packard Company. September 1990. HP Part No. 33459-90903.
  2. 1 2 3 4 5 Hewlett-Packard Co. (2013-10-29). "HP Support document - HP Support Center". Hewlett-Packard. Archived from the original on 2005-11-27. Retrieved 2014-03-10.
  3. "HP Color LaserJet and LaserJet Series Printers - History of Printer Command Language (PCL) - bpl04568 - HP Business Support Center". Hewlett-Packard. 2005-12-13. Archived from the original on 2005-11-27. Retrieved 2012-07-06.

Further reading