Jump to content

Printer Command Language: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
mNo edit summary
link+
 
(29 intermediate revisions by 23 users not shown)
Line 1: Line 1:
{{Short description|Page description language}}
{{more footnotes|date=June 2008}}
{{more footnotes|date=June 2008}}
{{reorganise|date=November 2015}}
{{cleanup reorganize|date=November 2015}}
{{Infobox file format

|name = Printer Command Language
'''Printer Command Language''', more commonly referred to as '''PCL''', is a [[page description language]] (PDL) developed by [[Hewlett-Packard]] as a [[computer printer|printer]] protocol and has become a ''[[de facto]]'' [[Technical standard|industry standard]]. Originally developed for early [[inkjet]] printers in 1984, PCL has been released in varying levels for [[thermal printer|thermal]], [[dot matrix|matrix printer]], and [[laser printers|page]] printers. [[HP-GL/2]] and [[Printer Job Language|PJL]] are supported by later versions of PCL.<ref name="HP_1990_HP-GL/2"/>
|mime = 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 [[computer printer|printer]] protocol and has become a ''[[de facto]]'' [[Technical standard|industry standard]]. Originally developed for early [[inkjet]] printers in 1984, PCL has been released in varying levels for [[thermal printer|thermal]], [[dot matrix printer|matrix]], and [[laser printers|page]] printers. [[HP-GL/2]] and [[Printer Job Language|PJL]] are supported by later versions of PCL.<ref name="HP_1990_HP-GL/2"/>


PCL is occasionally and incorrectly said to be an abbreviation for ''Printer Control Language'' which actually is another term for [[page description language]].
PCL is occasionally and incorrectly said to be an abbreviation for ''Printer Control Language'' which actually is another term for [[page description language]].
Line 9: Line 13:
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 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 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 1+''' was released with the HP QuietJet 2227.
*'''PCL 2''' added Electronic Data Processing/Transaction functionality.
*'''PCL 2''' added Electronic Data Processing/Transaction functionality.
*'''PCL 3''' was introduced in 1984 with the original HP [[LaserJet]].<ref name="HP_2013"/> This added support for [[bitmap]] fonts and increased the maximum resolution to 300 dpi. Other products with PCL 3 support were the HP [[Deskjet|DeskJet]] ink jet printer, HP 2932 series matrix printers and HP RuggedWriter 2235 matrix printers. PCL 3 is still in use on several [[impact printer]]s which replaced the obsolete HP models.
*'''PCL 3''' was introduced in 1984 with the original HP [[LaserJet]].<ref name="HP_2013"/> This added support for [[bitmap]] fonts and increased the maximum resolution to 300 dpi. Other products with PCL 3 support were the HP [[Deskjet|DeskJet]] ink jet printer, HP 2932 series matrix printers and HP RuggedWriter 2235 matrix printers. PCL 3 is still in use on several [[impact printer]]s which replaced the obsolete HP models.
*'''PCL 3+''' (mono) and '''PCL 3c+''' (color) are used on later HP DeskJet and HP PhotoSmart products.
*'''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 graphics|raster]] format that is not compatible with standard PCL 3.
*'''PCL 3GUI''' is used in the HP DesignJet, some DeskJet series printers, and OfficeJet series printers. It uses a compressed [[raster graphics|raster]] format that is not compatible with standard PCL 3.
*'''PCL 4''' was introduced on the HP LaserJet Plus<ref name="HP_2013"/> in 1985, adding [[Macro (computer science)|macro]]s, larger bitmapped fonts and graphics. PCL 4 is still popular for many applications.
*'''PCL 4''' was introduced on the HP LaserJet Plus<ref name="HP_2013"/> in 1985, adding [[Macro (computer science)|macro]]s, larger bitmapped fonts and graphics. PCL 4 is still popular for many applications.
*'''PCL 5''' was released on the HP LaserJet III<ref name="HP_2013"/> in March 1990, adding [[Intellifont]] font scaling (developed by [[Compugraphic]], now part of [[Agfa]]), outline fonts and HP-GL/2 (vector) graphics.
*'''PCL 5''' was released on the HP LaserJet III<ref name="HP_2013"/> in March 1990, adding [[Intellifont]] font scaling (developed by [[Compugraphic]], now part of [[Agfa]]), outline fonts and HP-GL/2 (vector) graphics.
Line 24: Line 28:
It consists of:
It consists of:


*'''PCL 6 Enhanced''': An object-oriented [[Page description language|PDL]] optimized for printing from [[Graphical user interface|GUI]] interfaces such as [[Microsoft Windows|Windows]] and compressed to optimize throughput. Formerly known as '''PCL XL'''.
*'''PCL 6 "Enhanced"''': An object-oriented [[Page description language|PDL]] optimized for printing from [[Graphical user interface|GUI]] interfaces such as [[Microsoft Windows|Windows]] and compressed to optimize throughput. Formerly known as '''PCL XL''' or '''PXL'''.
*'''PCL 6 Standard''': Equivalent to PCL 5e or PCL 5c, intended to provide backward compatibility.
*'''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.
*'''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]] printing; improved print-quality; and complete backward compatibility. In early implementations, HP did not market PCL 6 well{{Citation needed|date=August 2012}}, 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 driver]]s under [[Microsoft Windows|Windows]] and [[Common Unix Printing System|CUPS]]. Due to its structure and compression methodology, custom applications rarely use it directly.
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|date=August 2012}}, 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 driver]]s under [[Microsoft Windows|Windows]] and [[Common Unix Printing System|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 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.
Line 39: Line 45:
*'''Draw tools''': Support drawing lines, arcs/ellipses/chords, (rounded) rectangles, polygons, [[Bézier curve|Bézier]] paths, clipped paths, raster images, scanlines, raster operations.
*'''Draw tools''': Support drawing lines, arcs/ellipses/chords, (rounded) rectangles, polygons, [[Bézier curve|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).
*'''Color handling''': Support 1/4/8-bit palettes, RGB/grey color space. Support custom halftone patterns (max 256 patterns).
*'''Compression''': Supports RLE.
*'''Compression''': Supports [[run-length encoding|RLE]].
*'''Units of measurement''': Inch, millimetre, tenth of millimetre.
*'''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.
*'''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.
*'''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====
====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.
*'''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.
*'''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.
*'''Font''': Text can be written vertically.
Line 62: Line 68:
*'''Font''': Supports PCL fonts.
*'''Font''': Supports PCL fonts.


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


==PJL overview==
==PJL overview==
{{main|Printer Job Language}}
{{main|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.
'''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==
==See also==
* [[CaPSL]]
* [[Encapsulated PostScript]]
* [[Encapsulated PostScript]]
* [[Foomatic]]
* [[Foomatic]]
Line 74: Line 81:
* [[Plotutils|GNU Plotutils]]
* [[Plotutils|GNU Plotutils]]
* [[PostScript Printer Description]]
* [[PostScript Printer Description]]
* [[Ghostscript]]


== References ==
== References ==
{{reflist|refs=
{{Reflist|refs=
<ref name="HP_1990_HP-GL/2">{{cite book |title=PCL 5 Printer Language Technical Reference Manual |publisher=[[Hewlett-Packard Company]] |date=September 1990 |edition=1st |id=HP Part No. 33459-90903}}</ref>
<ref name="HP_1990_HP-GL/2">{{cite book |title=PCL 5 Printer Language Technical Reference Manual |publisher=[[Hewlett-Packard Company]] |date=September 1990 |edition=1st |id=HP Part No. 33459-90903}}</ref>
<ref name="HP_2013">{{cite web |author=[[Hewlett-Packard Co.]] |url=http://h20000.www2.hp.com/bizsupport/TechSupport/Document.jsp?objectID=bpl04568 |title=HP Support document - HP Support Center |publisher=[[Hewlett-Packard]] |date=2013-10-29 |access-date=2014-03-10}}</ref>
<ref name="HP_2013">{{cite web |author=Hewlett-Packard Co. |author-link=Hewlett-Packard Co. |url=http://h20000.www2.hp.com/bizsupport/TechSupport/Document.jsp?objectID=bpl04568 |title=HP Support document - HP Support Center |publisher=[[Hewlett-Packard]] |date=2013-10-29 |access-date=2014-03-10 |url-status=dead |archiveurl=https://web.archive.org/web/20051127195636/http://h20000.www2.hp.com/bizsupport/TechSupport/Document.jsp?objectID=bpl04568 |archivedate=2005-11-27 }}</ref>
<ref name="HP_2005_History">{{cite web |url=http://h20000.www2.hp.com/bizsupport/TechSupport/Document.jsp?objectID=bpl04568 |title=HP Color LaserJet and LaserJet Series Printers - History of Printer Command Language (PCL) - bpl04568 - HP Business Support Center |publisher=[[Hewlett-Packard]] |date=2005-12-13 |access-date=2012-07-06}}</ref>
<ref name="HP_2005_History">{{cite web |url=http://h20000.www2.hp.com/bizsupport/TechSupport/Document.jsp?objectID=bpl04568 |title=HP Color LaserJet and LaserJet Series Printers - History of Printer Command Language (PCL) - bpl04568 - HP Business Support Center |publisher=[[Hewlett-Packard]] |date=2005-12-13 |access-date=2012-07-06 |url-status=dead |archiveurl=https://web.archive.org/web/20051127195636/http://h20000.www2.hp.com/bizsupport/TechSupport/Document.jsp?objectID=bpl04568 |archivedate=2005-11-27 }}</ref>
}}
}}


==Further reading==
==Further reading==
*{{cite web |url=http://h20000.www2.hp.com/bc/docs/support/SupportManual/bpl13205/bpl13205.pdf |title=PCL 5e Technical Quick Reference Guide |publisher=[[Hewlett-Packard]] |access-date=2008-03-13}}
*{{cite web |url=http://www.hp.com/ctg/Manual/bpl13205.pdf |title=PCL 5e Technical Quick Reference Guide |publisher=[[Hewlett-Packard]] |access-date=2017-06-22}}
*{{cite web |url=http://h20000.www2.hp.com/bc/docs/support/SupportManual/bpl13210/bpl13210.pdf |title=PCL 5e Technical Reference Manual Part 1 |publisher=[[Hewlett-Packard]] |access-date=2008-03-13}}
*{{cite web |url=http://www.hp.com/ctg/Manual/bpl13210.pdf |title=PCL 5e Technical Reference Manual Part 1 |publisher=[[Hewlett-Packard]] |access-date=2017-06-22}}
*{{cite web |url=http://h20000.www2.hp.com/bc/docs/support/SupportManual/bpl13211/bpl13211.pdf |title=PCL 5e Technical Reference Manual Part 2 |publisher=[[Hewlett-Packard]] |access-date=2008-03-13}}
*{{cite web |url=http://www.hp.com/ctg/Manual/bpl13211.pdf |title=PCL 5e Technical Reference Manual Part 2 |publisher=[[Hewlett-Packard]] |access-date=2017-06-22}}
*{{cite web |url=http://h20000.www2.hp.com/bc/docs/support/SupportManual/bpl13212/bpl13212.pdf |title=PCL 5 Color Technical Reference Manual |publisher=[[Hewlett-Packard]] |access-date=2008-03-13}}
*{{cite web |url=http://www.hp.com/ctg/Manual/bpl13212.pdf |title=PCL 5 Color Technical Reference Manual |publisher=[[Hewlett-Packard]] |access-date=2017-06-22}}
*{{cite web |url=http://h20000.www2.hp.com/bc/docs/support/SupportManual/bpl13206/bpl13206.pdf |title=PCL 5 Comparison Guide |publisher=[[Hewlett-Packard]] |access-date=2008-03-13}}
*{{cite web |url=http://www.hp.com/ctg/Manual/bpl13206.pdf |title=PCL 5 Comparison Guide |publisher=[[Hewlett-Packard]] |access-date=2017-06-22}}
*{{cite web |url=http://h20000.www2.hp.com/bc/docs/support/SupportManual/bpl13209/bpl13209.pdf |title=PCL 5 Comparison Guide Addendum |publisher=[[Hewlett-Packard]] |access-date=2008-03-13}}
*{{cite web |url=http://www.hp.com/ctg/Manual/bpl13209.pdf |title=PCL 5 Comparison Guide Addendum |publisher=[[Hewlett-Packard]] |access-date=2017-06-22}}


==External links==
== External links ==
*{{cite web |url=http://www.undocprint.org/formats/page_description_languages/pcl_xl |title=HP PCL XL (PCL 6) 2.0 Technical Reference Rev 2.2 |publisher=[[Hewlett-Packard]] |access-date=2008-03-13}}
* {{cite web |url=http://www.undocprint.org/formats/page_description_languages/pcl_xl |title=HP PCL XL (PCL 6) 2.0 Technical Reference Rev 2.2 |publisher=[[Hewlett-Packard]] |access-date=2008-03-13}}
*{{cite web |url=http://h20000.www2.hp.com/bizsupport/TechSupport/Document.jsp?objectID=bpl03010 |title=What Is the Enhanced PCL XL or PCL 6 Driver? |publisher=[[Hewlett-Packard]] |access-date=2008-03-13}}
* {{cite web |url=http://h20000.www2.hp.com/bizsupport/TechSupport/Document.jsp?objectID=bpl03010 |title=What Is the Enhanced PCL XL or PCL 6 Driver? |publisher=[[Hewlett-Packard]] |access-date=2008-03-13 |url-status=dead |archiveurl=https://web.archive.org/web/20060404181327/http://h20000.www2.hp.com/bizsupport/TechSupport/Document.jsp?objectID=bpl03010 |archivedate=2006-04-04}}
*{{cite web |url=http://h20000.www2.hp.com/bizsupport/TechSupport/Document.jsp?objectID=c00068221 |title=PCL 3 and PCL 5/6 Features and Differences |publisher=[[Hewlett-Packard]] |access-date=2008-03-13}}
* {{cite web |url=http://h20000.www2.hp.com/bizsupport/TechSupport/Document.jsp?objectID=c00068221 |title=PCL 3 and PCL 5/6 Features and Differences |publisher=[[Hewlett-Packard]] |access-date=2008-03-13 |url-status=dead |archiveurl=https://web.archive.org/web/20060404181401/http://h20000.www2.hp.com/bizsupport/TechSupport/Document.jsp?objectID=c00068221 |archivedate=2006-04-04}}
*{{cite web |url=http://h10025.www1.hp.com/ewfrf/wc/document?lc=en&lang=en&cc=us&product=59838&dlc=en&docname=bpd02201 |title=HP RuggedWriter Printer - Product Specifications |publisher=[[Hewlett-Packard]] |access-date=2008-03-13}}
* {{cite web |url=http://h10025.www1.hp.com/ewfrf/wc/document?lc=en&lang=en&cc=us&product=59838&dlc=en&docname=bpd02201 |title=HP RuggedWriter Printer - Product Specifications |publisher=[[Hewlett-Packard]] |access-date=2008-03-13 |url-status=dead |archiveurl=https://web.archive.org/web/20071024105450/http://h10025.www1.hp.com/ewfrf/wc/document?lc=en&lang=en&cc=us&product=59838&dlc=en&docname=bpd02201 |archivedate=2007-10-24}}
*{{cite web |url=http://www-01.ibm.com/support/docview.wss?uid=nas1ba0863cfa6463903862569c10078c903 |title=List of HP printers and PCL levels supported |publisher=[[IBM]] |access-date=2012-03-02}}
* {{cite web |url=http://www-01.ibm.com/support/docview.wss?uid=nas1ba0863cfa6463903862569c10078c903 |title=List of HP printers and PCL levels supported |publisher=[[IBM]] |access-date=2012-03-02 |archive-url=https://web.archive.org/web/20130501032227/http://www-01.ibm.com/support/docview.wss?uid=nas1ba0863cfa6463903862569c10078c903 |archive-date=2013-05-01 |url-status=dead}}


[[Category:Hewlett-Packard]]
[[Category:HP software]]
[[Category:Page description languages]]
[[Category:Page description languages]]

Latest revision as of 00:25, 19 August 2024

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]

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

[edit]

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 LaserJet.[2] This added support for bitmap fonts and increased the maximum resolution to 300 dpi. Other products with PCL 3 support were the HP DeskJet 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 obsolete 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, some DeskJet series printers, and OfficeJet series printers. It uses a compressed raster format that is not compatible with standard PCL 3.
  • PCL 4 was introduced on the HP LaserJet Plus[2] 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[2] in March 1990, adding Intellifont font scaling (developed by Compugraphic, now part of Agfa), outline fonts and HP-GL/2 (vector) graphics.
  • PCL 5e (PCL 5 enhanced) was released on the HP LaserJet 4[2] in October 1992 and added bi-directional communication between the printer and the PC and Windows fonts.
  • PCL 5c introduced color support on the HP PaintJet 300XL and HP Color LaserJet[2] in 1992.

PCL 6 overview

[edit]

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

  • PCL 6 "Enhanced": An object-oriented PDL optimized for printing from GUI interfaces such as Windows and compressed to optimize throughput. Formerly known as PCL XL or PXL.
  • 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" 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

[edit]

Class 1.1

[edit]
  • 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

[edit]
  • 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

[edit]
  • 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

[edit]
  • Compression: Added JFIF.

Class 3.0

[edit]
  • 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

[edit]

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

[edit]

References

[edit]
  1. ^ PCL 5 Printer Language Technical Reference Manual (1st ed.). Hewlett-Packard Company. September 1990. HP Part No. 33459-90903.
  2. ^ a b c d e 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

[edit]
[edit]