HP DeskJet 600, 700, 800, 900 & HP 2000 Series PCL Developer’s Guide Hewlett-Packard Vancouver Site To aid in HP PCL printer driver development for HP DeskJet 600/700/800/900 & HP 2000 Series printers
Preface and Printing History 1.0 Preface and Printing History The information contained in this document is subject to change without notice. Hewlett-Packard makes no warranty of any kind with regard to this material, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. Hewlett-Packard shall not be liable for errors contained herein or for incidental or consequential damages in connection with the furnishing, performance, or use of this material.
About this Developer’s Guide 2.0 About this Developer’s Guide 2.1 Which printers are covered by this guide1 Throughout this HP PCL Developer’s Guide you will see printer names referenced. Here is a list of actual names and the “Series” names used throughout this guide. 2.1.
About this Developer’s Guide 2.2 Special Notes 4 HP DeskJets were designed in series - the printer’s internal firmware will usually report the series name, rather than the specific product name. All printers in a series will behave as the base model. For example, the HP DeskJet 810C Series printers were sold under the name of the HP DeskJet 810C, HP DeskJet 812C, and the HP DeskJet 815C. All three printer models have the same internal firmware, reporting the printer as a HP DeskJet 810C.
Table of Contents 3.0 Table of Contents 1.0 Preface and Printing History 2 2.0 About this Developer’s Guide 3 2.1 Which printers are covered by this guide 2.1.1 2.1.2 2.1.3 2.1.4 HP DeskJet 600 Series HP DeskJet 800 Series HP DeskJet 900 Series HP 2000C Series 3 2.2 Special Notes 3 3 3 3 4 2.2.1 Special Note - HP DeskJet 710C, 720C and 820C Series printers 4 3.0 Table of Contents 5 4.0 How This Developer’s Guide Works 4.0.1 4.0.2 4.0.3 4.0.4 4.0.5 4.0.6 4.0.7 4.0.8 4.0.9 4.0.10 4.0.
Table of Contents 9.0.1 9.0.2 9.0.3 9.0.4 9.0.5 Follow Specifications 22 Leverage from Previous Programs 22 Priority of Feature Set Commands 22 Priority of Commands 23 Time Savers 23 10.0 HP PCL Commands 25 10.1Control Codes and Special Character Codes 10.1.1 Escape 25 25 10.2 Testing Commands 10.3 Print Modes 25 25 10.3.1 Transparent Data Mode 25 10.3.2 Display Functions Mode ON 26 10.3.3 Display Functions Mode OFF 26 10.4 Text Enhancements 10.4.1 10.4.2 10.4.3 10.4.
Table of Contents 10.9.5 Formfeed 50 10.9.6 Horizontal Tab 50 10.9.7 Move CAP Horizontal (Decipoints) 51 10.9.8 Move CAP Horizontal (Columns) 52 10.9.9 Move CAP Horizontal (HP PCL Units) 52 10.10 Vertical Positioning Commands 54 10.10.1 Move CAP Vertical (Rows) 54 10.10.2 Move CAP Vertical (Decipoints) 55 10.10.3 Move CAP Vertical (HP PCL Units) 56 10.11 Font Selection 10.11.1 10.11.2 10.11.3 10.11.4 10.11.5 10.11.6 10.11.7 10.11.
Table of Contents 11.2.4 11.2.5 11.2.6 11.2.7 11.2.8 11.2.9 11.2.10 11.2.11 11.2.12 11.2.13 11.2.14 11.2.15 11.2.16 11.2.17 11.2.18 11.2.19 11.2.20 11.2.21 11.2.22 11.2.23 11.2.24 11.2.25 11.2.26 11.2.27 11.2.28 11.2.29 11.2.30 11.2.31 11.2.32 11.2.33 11.2.34 11.2.35 11.2.36 11.2.37 11.2.
Table of Contents 12.0.3 12.0.4 12.0.5 12.0.6 12.0.7 12.0.8 12.0.9 12.0.10 12.0.11 Descriptor Size (UBYTE) 108 Class (UBYTE) 108 Orientation (UBYTE) 111 Left Offset (SINT) 111 Top Offset (SINT) 111 Character Width (UINT) 111 Character Height (UINT) 111 Delta X (SINT) 112 Character Data 112 13.0 Banner Printing 113 13.0.1 13.0.2 13.0.3 13.0.4 13.0.5 13.0.6 13.0.7 13.0.
How This Developer’s Guide Works 4.0 How This Developer’s Guide Works Below is a sample command description chart from this guide. On the following pages you can find descriptor names for the various parts of the graph. HP2000C DJ970C DJ895C C DJ890C DJ850C DJ830C DJ810C DJ695C DJ680C DJ670C DJ660C &l#P # Value DJ600 DJ610C G F DJ690C Page Length - Esc TABLE 1. E B DJ880C Page Length DJ870C A 4.0.1 0 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 Page length set to 66 lines 1 ..
How This Developer’s Guide Works 4.0.4 Escape Sequence C This is the ASCII text version of the binary string, which causes the command to be invoked. The pound sign ("#") is used to represent where one of the command options, which are listed following the Command Summary, would be inserted. 4.0.5 Command Summary D A brief description of the purpose of a command is given. The Command Summary can be used to determine quickly if a particular command will perform the overall task you desire. 4.0.
How This Developer’s Guide Works 4.0.10 Detailed Command Description I This is where all aspects of the command are explained. All details of the command and its usage are covered, including the effect of the command on the printer and the printing environments, all the command's options and the effect of each of those options, and any extended impact the command may have which you should be aware of. 4.0.
Introduction to HP PCL 5.0 Introduction to HP PCL 5.1 History of HP PCL Printer Language Hewlett-Packard created the HP PCL Printer Language to provide an economical and efficient way for application programs to control a range of printer features across a number of printing devices. HP has evolved both the definition and implementations of the HP PCL printer language to provide the optimal price and performance balance.
Introduction to HP PCL Once an HP PCL command sets a parameter, that parameter will remain set until that HP PCL command is repeated with a new value, the printer is reset to its user default environment, or another command makes a change. For example, if you send the printer a command to set line spacing to 3 lines/inch, each page will print 3 lines/inch until the printer receives a Line Spacing or VMI command or the printer is reset. 5.
Introduction to HP PCL zi Parameter Character - Any character from the ASCII table within the range 96-126 decimal (" " " through "~"). This character specifies the parameter to which the previous value field applies. This character is used when combining escape sequences. Zn Termination Character - Any character from the ASCII table within the range 64-96 decimal ("@" through "~”). This character specifies the parameter to which the previous value field applies.
Introduction to HP PCL Esc & l 1 o Escape Character 2 A Termination Character Parameterized Character Group Character Value Field Parameter Character Value Field Notice that the "Esc" and the "&l" are dropped from the second printer command when they are combined. Also, the upper-case "O" that terminated the first command becomes a lowercase "o" parameter character when these commands are combined.
The Page 6.0 The Page 6.1 Logical Page, Physical Page The HP PCL printer language distinguishes between the physical page and the logical page. The physical page is the actual sheet of paper. Its size is determined by the size of the media installed in the printer. The logical page defines the addressable area in which the cursor can be positioned. CAP (Current Active Position) refers to the "cursor" position on the logical page, similar to the cursor used on most computer terminals.
The Page 6.2 Page Layout Referring to the previous figure, each page passed through the printer has a number of components. Text printing is normally limited to a specific printable area within the logical page known as the text area. The text area is entirely contained by the logical page, but may be smaller because of margins. There are unprintable regions along the outside edges and bottom of each sheet of print media.
The Page point (0,0) may change. The point (0,0) then, does not necessarily equate to the top of the paper. CAP Position Top Margin (0,0) X Y Top Margin (0,0) ABCD... X Y ABCD... Logical Page Logical Page Landscape Portrait 6.2.2 CAP Reference Point The first line starts at the (0,0) coordinate. CAP starts at (X,Y), where X= the left margin setting, and Y= the top margin setting.
The Print Environment 7.0 The Print Environment The group of all the printer's current feature settings is collectively referred to as the print environment. Default settings refer to the settings the printer uses unless printer commands are used to select other settings. Default settings are settings that are programmed into the printer at the factory. Each time a job is printed, some of the printer's feature settings may be changed from their default values to produce a desired output for that job.
Merged Text and Graphics 8.0 Merged Text and Graphics The process for merging text and graphics with the HP DeskJet 600/800/900 & HP 2000 Series printers in both portrait and landscape orientation is the same as the landscape orientation method for the HP DeskJet 520, 540, 550C, and 560C Series printers, described in the HP DeskJet 500 Series Technical Reference Guide.
Programming Hints 9.0 Programming Hints The following are overall guidelines to keep in mind when programming with HP PCL printer language commands. 9.0.1 Follow Specifications Follow the specifications for HP PCL printer language commands as described in this guide. Do not rely upon undocumented workarounds. For example, the HP DeskJet 500 Series printers do not allow a negative vertical cursor movement of more than 1/3 inch.
Programming Hints 9.0.4 Priority of Commands There are no finite rules when it comes to structuring your overall program. In general, start by setting the print environment with the printer control commands, such as Reset, Selecting the Media Source, and so on. It is almost always advisable to start and end your program with the reset command (Esc E). This clears the printer environment and places your program back to the default settings.
Programming Hints 4 Avoid using a Start Raster Graphics and End Raster Graphics command on every line. Use these commands at the beginning and end of the graphics image. 4 When setting the raster graphics width, calculate the widest point of the raster image. Use this value to set the width once for the entire raster graphics image. 4 Avoid setting top margin or text length to values outside of the printable area. This may cause data loss.
HP PCL Commands 10.0 10.1 HP PCL Commands Control Codes and Special Character Codes The following commands initiate printer control functions: 10.1.1 Escape Provides supplementary control of printer functions. The escape character itself is a prefix for the string of one or more characters that follow.
HP PCL Commands Display Functions Mode ON HP2000C DJ970C DJ890C DJ880C DJ870C DJ850C DJ830C DJ810C DJ695C DJ680C DJ670C DJ660C DJ610C Y # Value DJ600 DJ690C Display Functions Mode ON - Esc TABLE 3. DJ895C 10.3.2 1..n 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 Default off EFFECT Display Functions turned on This command turns on Display Functions Mode; a character code is then printed in the current active font.
HP PCL Commands Enable Underline HP2000C DJ970C DJ895C DJ890C DJ880C DJ830C DJ810C DJ695C DJ690C DJ680C DJ670C Esc & d # D # Value DJ600 DJ660C Enable Underline - DJ610C TABLE 5. DJ870C 10.4.1 Text Enhancements DJ850C 10.
HP PCL Commands With HP DeskJet 500 Series printers, if underlining is enabled and changing the left margin causes a positive horizontal cursor movement, the move is underlined. With HP DeskJet 600/800/900 & HP 2000 Series printers, the move is not underlined. ! HP DeskJet 500 Series printers use a value (#) of 255 to disable underlining. HP DeskJet 600/800/900 & HP 2000 Series printers select Default for values over 4 or below 0.
HP PCL Commands End-of-Line Wrap HP2000C DJ970C DJ895C DJ890C DJ870C DJ850C DJ830C DJ810C DJ695C DJ680C DJ670C DJ660C DJ610C &s#C # Value DJ600 DJ690C End-of-Line Wrap - Esc TABLE 8. DJ880C 10.4.4 0 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 Enables End-of-Line Wrap 1 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 Disables End-of-Line Wrap Default 1 Range 0 to 1 - Command is ignored for out of range values EFFECT Defines the action that occurs when a line of text reaches the right margin.
HP PCL Commands 10.5 10.5.1 Job Control Reset Esc E Performs a reset on the printer (this is NOT a hardware reset). The reset performs the following: Prints all data received before the reset. 4 4 4 4 4 “Floats” CAP. Resets all programmable features to their user default values. Deletes temporary fonts. Does not delete downloaded permanent features. Resets the color palette to black and white. Esc E has no effect on I/O and causes no disruption in host-to-peripheral communication.
HP PCL Commands Gray Balance HP2000C DJ970C DJ895C DJ890C DJ880C DJ830C DJ810C DJ695C DJ690C DJ680C DJ670C Esc * b # B # Value DJ600 DJ660C Gray Balance - DJ610C TABLE 9. DJ870C 10.6.1 Printer Control DJ850C 10.
HP PCL Commands Dry Timer HP2000C DJ970C DJ895C DJ890C DJ880C DJ870C DJ830C DJ810C DJ695C DJ680C DJ670C DJ660C DJ610C &b#T # Value DJ600 DJ690C Dry Timer - Esc TABLE 10. DJ850C 10.6.2 0 4 Dry Timer is off 1..1200 4 Dry timer is on - time set for specified number of seconds Default 0 Range 0 to 1200 - Command is ignored for out of range values EFFECT Sets a minimum dry time between pages to ensure that a previous page dries before the next page is dropped on top of it.
HP PCL Commands Print Quality HP2000C DJ970C DJ895C DJ890C DJ880C DJ870C DJ850C DJ810C DJ695C DJ690C DJ680C DJ670C Esc * o # m/M # Value DJ600 DJ660C Print Quality - DJ610C TABLE 11. DJ830C 10.6.
HP PCL Commands Media Type HP2000C DJ970C DJ895C DJ890C DJ880C DJ850C DJ830C DJ810C DJ695C DJ680C DJ670C DJ660C DJ610C &l#M # Value DJ600 DJ690C Media Type - Esc TABLE 12. DJ870C 10.6.
HP PCL Commands The value field establishes the number of units per inch used in the following commands. These commands formerly used a device’s dot-per-inch resolution as the unit of measure. Printers that do not support this command still use dots as their unit of measure for these commands.
HP PCL Commands 10.7 10.7.1 Printer Diagnostics Self-Test Esc z Initiates printer self-test, which instructs the printer to perform the following actions: 4 Process all data preceding the self-test. 4 Perform Esc E reset (ejecting the page if printable data has been sent). Permanent downloaded fonts are not deleted. 4 4 4 4 Move CAP to the top of form, if not already there. Perform the self-test. After self-test, move to the top of form, if not already there.
HP PCL Commands 10.8 Page Control The following commands facilitate the definition of a print job page. Page Length HP2000C DJ970C DJ895C DJ890C DJ880C DJ850C DJ830C DJ810C DJ695C DJ680C DJ670C DJ660C DJ610C &l#P # Value DJ600 DJ690C Page Length - Esc TABLE 14. DJ870C 10.8.1 0 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 Page length set to 66 lines 1 ..
HP PCL Commands HP DeskJet maximum page length is 14 inches for the HP DeskJet 600/800/900 & HP 2000 Series printers. This command must be sent at the beginning of a page prior to any printable data; otherwise, when the command is sent, the current page is closed and printed. ! Page Size HP2000C DJ970C DJ895C DJ890C DJ880C DJ870C DJ830C DJ810C DJ695C DJ680C DJ670C DJ660C DJ610C &l#A # Value DJ600 DJ690C Page Size - Esc TABLE 15. DJ850C 10.8.
HP PCL Commands Since the logical page is defined to extend from the top and bottom edges of the physical page, this command also sets logical page length. TABLE 16. Selectable Sheet Media Sizes for HP DeskJet 600/800/900 & HP 2000 Series printers Value Page Description Page Size 1 US Executive 7.25” x 10.5” 2 US Letter 8.5” x 11” 3 US Legal 8.5” x 14” 25 ISO and JIS A5 148.5 mm x 210 mm 26 ISO and JIS A4 210 mm x 297 mm 45 JIS B5 182 mm x 257 mm 101 Custom 5.00” x 5.
HP PCL Commands With HP DeskJet 600/800/900 & HP 2000 Series printers, all envelopes load in landscape (short edge first). Before the HP DeskJet 550C Series printer, envelopes loaded in portrait. Envelope printing orientation defaults to portrait, except for Commercial 10 (value = 81), which defaults to landscape. Value = -81 prints Commercial 10 envelopes in portrait orientation.
HP PCL Commands Orientation HP2000C DJ970C DJ895C DJ890C DJ880C DJ870C DJ850C DJ810C DJ695C DJ690C DJ680C DJ670C Esc & l # O # Value DJ600 DJ660C Orientation - DJ610C TABLE 20. DJ830C 10.8.
HP PCL Commands Horizontal Motion Index HP2000C DJ895C DJ890C DJ880C DJ870C DJ850C DJ830C DJ810C DJ695C DJ680C DJ670C DJ660C DJ610C &k#H # Value DJ600 DJ690C Horizontal Motion Index (HMI) - Esc TABLE 21. DJ970C 10.8.5 n 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 Default Determined by the pitch or height (x 112%) value in the default font descriptor Range 0 to 126.
HP PCL Commands Vertical Motion Index HP2000C DJ970C DJ890C DJ880C DJ870C DJ850C DJ830C DJ810C DJ695C DJ680C DJ670C DJ660C DJ610C &l#C # Value DJ600 DJ690C Vertical Motion Index (VMI) - Esc TABLE 22. DJ895C 10.8.
HP PCL Commands Line Spacing HP2000C DJ970C DJ895C DJ890C DJ880C DJ850C DJ830C DJ810C DJ695C DJ680C DJ670C DJ660C DJ610C &l#D # Value DJ600 DJ690C Line Spacing - Esc TABLE 23. DJ870C 10.8.
HP PCL Commands Left Margin HP2000C DJ970C DJ895C DJ890C DJ880C DJ850C DJ830C DJ810C DJ695C DJ680C DJ670C DJ660C DJ610C &a#L # Value DJ600 DJ690C Left Margin - Esc TABLE 25. DJ870C 10.8.
HP PCL Commands margin to the left of the left margin should be ignored; however, left and right margins can be set to the same location. Top Margin HP2000C DJ970C DJ895C DJ890C DJ880C DJ870C DJ850C DJ810C DJ695C DJ690C DJ680C DJ670C Esc & l # E # Value DJ600 DJ660C Top Margin - DJ610C TABLE 27. DJ830C 10.8.11 n 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 Default 0.
HP PCL Commands Text Length HP2000C DJ970C DJ895C DJ890C DJ880C DJ870C DJ850C DJ810C DJ695C DJ690C DJ680C DJ670C Esc & l # F # Value DJ600 DJ660C Text Length - DJ610C TABLE 28. DJ830C 10.8.12 n 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 Default Logical page length - top margin - 1/2 incha Range Current left margin to logical page left bound - Command is ignored for out of range values EFFECT Sets length of the text area, in lines, from the top margin a.
HP PCL Commands If perforation skip is disabled, text is printed to the end of the page and onto the next page. Text length and top margin are ignored. Text in the unprintable region may be lost. ! 48 Disabling perforation skip may cause text outside of the printable area to be lost. To prevent this, perforation skip should be enabled. Changing perforation skip mode defaults top margin and text length.
HP PCL Commands 10.9 Horizontal Positioning Commands The following commands provide for cursor movement on the horizontal axis. 10.9.1 Backspace Moves CAP one character position backwards on the current line. For horizontal text path direction, no action occurs if CAP is already at the left margin. If the CAP is to the left of the left margin (via one of the Move CAP commands), functions as if the left margin were column 0, the logical page left boundary.
HP PCL Commands Moves CAP to the same horizontal position, one row down. If perforation skip mode is enabled, a linefeed that would go beyond the text length boundary moves CAP to the same horizontal position at the top of form on the next page. If perforation skip mode is disabled, text is printed to the end of the page and onto the next page. Text in the unprintable region may be lost. 10.9.5 Formfeed Formfeed advances CAP to the same horizontal position at the top of the form on the next page.
HP PCL Commands Move CAP Horizontal (Decipoints) DJ970C DJ895C DJ890C DJ880C DJ870C DJ850C DJ830C DJ810C DJ695C DJ680C DJ670C DJ660C DJ610C &a#H # Value DJ600 DJ690C Move CAP Horizontal (Decipoints) - Esc TABLE 30. HP2000C 10.9.
HP PCL Commands Move CAP Horizontal (Columns) HP2000C DJ895C DJ890C DJ880C DJ870C DJ850C DJ830C DJ810C DJ695C DJ680C DJ670C DJ660C DJ610C &a#C # Value DJ600 DJ690C Move CAP Horizontal (Columns) - Esc TABLE 31. DJ970C 10.9.
HP PCL Commands This command ignores margins and can move CAP horizontally anywhere within the logical page. Attempts to go outside the logical page will move CAP to the appropriate logical page limit. HP DeskJet printers prior to the HP DeskJet 600 Series printers use 1/300”.
HP PCL Commands 10.10 Vertical Positioning Commands The following commands provide cursor positioning on the vertical axis. Move CAP Vertical (Rows) HP2000C DJ970C DJ890C DJ880C DJ870C DJ850C DJ830C DJ810C DJ695C DJ680C DJ670C DJ660C DJ610C &a#R # Value DJ600 DJ690C Move CAP Vertical (Rows) - Esc TABLE 33. DJ895C 10.10.
HP PCL Commands Move CAP Vertical (Decipoints) HP2000C DJ970C DJ890C DJ880C DJ870C DJ850C DJ830C DJ810C DJ695C DJ690C DJ680C DJ670C Esc & a # V # Value DJ600 DJ660C Move CAP Vertical (Decipoints) - DJ610C TABLE 34. DJ895C 10.10.2 n 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 Default n/a Range -32767 to +32767 - Command is ignored for out of range values EFFECT Moves CAP to a new position along the vertical axis If no such position exists, moves CAP to the logical page limit.
HP PCL Commands Move CAP Vertical (HP PCL Units) DJ970C DJ895C DJ890C DJ880C DJ870C DJ850C DJ830C DJ810C DJ695C DJ680C DJ670C DJ660C DJ610C *p#Y # Value DJ600 DJ690C Move CAP Vertical (HP PCL Units) - Esc TABLE 35. HP2000C 10.10.
HP PCL Commands 10.11 10.11.1 Font Selection Font Selection by Attribute The user requests a font by designating its attributes with the following commands. For the HP DeskJet 600 Series printers, successful selection requires the selected font is either one of the built-in bitmap fonts or a soft font that has been downloaded to the printer.
HP PCL Commands The following table lists printer-supported symbol sets and symbol set IDs for the HP DeskJet 600/800/900 & HP 2000 Series printers. 58 ID Symbol Set Name ID Symbol Set Name 0A Math-7 (same as 0M) 1G ISO 21: German 0B Line Draw-7 (same as 0L) 8G Greek-8 0C HP Large Characters (264x) 9G Windows 3.
HP PCL Commands ID Symbol Set Name ID Symbol Set Name 11L ITC Zapf Dingbats Series 100 0R Cyrillic ASCII (8859/5-1986) 12L ITC Zapf Dingbats Series 200 1R Cyrillic 13L ITC Zapf Dingbats Series 300 3R PC Cyrillic (CP 866) 20L Carta 9R Windows 3.
HP PCL Commands 10.11.3 Font Spacing HP2000C DJ970C DJ895C DJ890C DJ880C DJ870C DJ850C DJ830C DJ810C DJ680C DJ670C DJ660C DJ610C # Value DJ600 DJ695C (s#P Font Spacing (Secondary) - Esc ) s # P DJ690C Font Spacing (Primary) - Esc TABLE 37. 0 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 Fixed spacing 1 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 Proportional spacing Default 0 Range 0, 1 - Command is ignored for other values EFFECT Designates inter-character spacing as either proportional or fixed.
HP PCL Commands If the exact pitch is unavailable, the next larger pitch is selected. If a larger pitch is unavailable, the closest smaller pitch is selected. Pitch is ignored when selecting proportional fonts, but saved in the font select table and available when a fixed space font is selected. For fixed space bitmap fonts, both pitch and height are used for font selection. For fixed space scalable fonts, only pitch is used. For proportional scalable fonts, only height is used.
HP PCL Commands 10.11.6 Font Style Esc ( s # S Font Style (Secondary) - Esc ) s # S HP2000C DJ970C DJ895C DJ890C DJ880C DJ870C DJ850C DJ830C DJ810C DJ695C DJ690C DJ680C DJ670C # Value DJ600 DJ660C Font Style (Primary) - DJ610C TABLE 40. n 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 Default 0 Range 0 to 32767 - values exceeding range are ignored EFFECT Specified characteristics are applied to font style request Identifies the posture, width, and structure of the font symbols.
HP PCL Commands Value (#) = Structure (style word partial sum multiplied by 32) 0 Solid 1 Outline 2 In-line 3 Contour, Edge effects 4 Solid with shadow 5 Outline with shadow 6 In-line with shadow 7 Contour with shadow 8 Patterned (complex patterns, subjective to typeface) 12-15 Patterned with shadow 16 Inverse 17 Inverse in open border 18-30 31 Reserved Unknown structure Default = 0 Range = 0 to 32767 (values greater than 32767 are clamped) MATCHING ALGORITHM The following proce
HP PCL Commands 10.11.7 Font Stroke Weight Esc ( s # B Font Stroke Weight (Secondary) - Esc ) s # B HP2000C DJ970C DJ895C DJ890C DJ880C DJ870C DJ850C DJ830C DJ810C DJ695C DJ690C DJ680C DJ670C # Value DJ600 DJ660C Font Stroke Weight (Primary) - DJ610C TABLE 41.
HP PCL Commands 10.11.8 Font Selection by ID Esc ( # X Font Selection by ID (Secondary) - Esc ) # X HP2000C DJ970C DJ895C DJ890C DJ880C DJ870C DJ850C DJ830C DJ810C DJ695C DJ690C DJ680C DJ670C # Value DJ600 DJ660C Font Selection by ID (Primary) - DJ610C TABLE 42. n 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 Default n/a Range 0 to 32767 - values exceeding range are ignored EFFECT Font with indicated ID is selected Designates a font by ID as primary or secondary.
HP PCL Commands 10.12 Downloading Fonts Currently, the HP DeskJet 600 Series and 850/855 Series printers are the only printers that accept downloaded fonts. Note that the HP DeskJet format soft fonts are designed for use with the HP DeskJet 500 Series printers. The following sections discuss the format for the HP LaserJet format soft fonts, which is the type used for the DeskJet 600 Series and 850/855 Series printers.
HP PCL Commands Download Font # Value n 4 4 4 4 4 4 4 Default n/a Range 0 to 32767 - command is ignored for invalid descriptor or insufficient memory and the font descriptor data is discarded 4 HP2000C DJ970C DJ895C DJ890C DJ880C DJ870C DJ830C DJ810C DJ695C DJ690C DJ680C DJ670C Esc ) s # W [font definition] DJ600 DJ660C Download Font - DJ610C TABLE 44. DJ850C 10.12.
HP PCL Commands Character Code 4 4 4 4 4 4 4 Default 0 Range 0 to 65535 - command is ignored for out of range values HP2000C n DJ970C # Value DJ895C DJ890C DJ880C DJ870C DJ830C DJ810C DJ695C DJ690C DJ680C DJ670C Esc * c # E DJ600 DJ660C Character Code - DJ610C TABLE 45. DJ850C 10.12.3 4 EFFECT Establishes a decimal ASCII code for the next character downloaded The character code is a state variable that must be designated prior to the download of a character descriptor.
HP PCL Commands group of bytes sent by one command is called a block. A character definition consists of a first block and zero or more continuation blocks. An unsupported or invalid character definition is ignored and discarded. An out-of-memory condition during character download deletes the entire font. Reserved fields should be set to 0.
HP PCL Commands 10.13 Raster Graphics The following HP PCL commands apply to the printing of raster graphic images on HP DeskJet 600/800/900 & HP 2000 Series printers. 10.13.1 Raster Mode The Start Raster (Esc * r # A) command begins a restricted state called raster mode. Raster mode locks out commands that would affect rendering of the graphics image. These commands remain locked out until End Raster (Esc * r C). 10.13.
HP PCL Commands Start Raster HP2000C DJ970C DJ895C DJ890C DJ880C DJ870C DJ850C DJ810C DJ695C DJ690C DJ680C DJ670C Esc * r # A # Value DJ600 DJ660C Start Raster - DJ610C TABLE 48. DJ830C 10.13.
HP PCL Commands 4 Resets the left graphics margin to 0. 4 Moves CAP to the row immediately following the end of the raster area and zero-fills empty rows if source raster height was specified; otherwise to the next row. 4 Resets the plane pointer to 1. If a value field is received, it is ignored and the command is still executed.
HP PCL Commands Source Raster Width HP2000C DJ970C DJ895C DJ880C DJ870C DJ850C DJ830C DJ810C DJ695C DJ680C DJ670C DJ660C DJ610C *r#S # Value DJ600 DJ690C Source Raster Width - Esc TABLE 51. DJ890C 10.13.7 n 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 Default Logical page width Range 0 to 32767 - (clamped to right logical page boundary minus left graphics margin) EFFECT Raster region width is set to specified number of pixels (at current resolution)a a.
HP PCL Commands Since width is in the direction that the raster rows are laid down, source raster width is relative to the current raster resolution or print quality setting. Y Offset HP2000C DJ970C DJ895C DJ890C DJ880C *b#Y DJ870C DJ830C DJ810C DJ695C DJ680C DJ670C DJ660C DJ610C DJ600 # Value DJ690C Y Offset - Esc TABLE 52. DJ850C 10.13.
HP PCL Commands 10.14 Raster Data Transfer The Raster Transfer commands (Esc * b # V, Esc * b # W) define how many bytes will be interpreted as binary raster data The Transfer Raster by Plane (Esc * b # V) command is used when the data is encoded by plane, as specified by the Simple Color (Esc * r # U) command. Transfer Raster by Plane is used to send each plane in the row except the last; Transfer Raster by Row (Esc * b # W) must be used to send the last plane and advance the row.
HP PCL Commands Transfer Raster by Row/Block HP2000C DJ895C DJ890C DJ880C DJ870C DJ850C DJ830C DJ810C DJ695C DJ680C DJ670C DJ660C DJ610C * b # W [data] # Value DJ600 DJ690C Transfer Raster by Row or Block - Esc TABLE 54. DJ970C 10.14.
HP PCL Commands 10.15 Raster Compression Since raster images take a large amount of memory and processing time, raster data should be reduced as much as possible. White-space data transfer can be reduced by sending empty rows and planes (Esc * b 0 W, Esc * b 0 V), or by offsetting the left graphic margin (Esc * r 1 A) or the vertical starting point (Esc * b # Y). The Compression Method (Esc * b # M) command provides several other ways of compressing data.
HP PCL Commands ! Method 1 requires byte pairs: a Transfer Raster (Esc * b # V or Esc * b # W) command with an odd value field is ignored and the data discarded. Method 2 - Tagged Image File Format Encoding (TIFF revision 4) Method 2 (“packbit” encoding) combines methods 0 and 1, with blocks of repeated bytes and blocks of literal (unencoded) bytes. A control byte precedes the raster data; it indicates the number of succeeding bytes, and whether they are repeated or literal.
HP PCL Commands Compression method 1 - Run-length encoding Esc*r1 A Esc*b1 m6W(3)U(0)A(1)T Esc*rC Compression method 2 - TIFF encoding Esc*r1 A Esc*b2m6W(-3)U(0)A(-1)T -orEsc*b2m6W(-3)U(2)ATT Esc*rC ! Parentheses in the above escape sequences are for readability only. Method 3 - Delta Row Encoding This method replaces only bytes in the current row that are different from the preceding row (seed row). Unreplaced bytes are replicated from the seed row. The current row then becomes the seed row.
HP PCL Commands The values of the offset have the following definitions: 0 to 30: The offset is 0 to 30. 31: The offset is 31 or greater. If the offset is 31, an additional offset byte follows the command byte. The offset in the command byte is added to the offset byte. If the off- set byte is 0, the offset is 31; if the offset byte is 255, additional offset bytes follow. The last offset byte will have a value less than 255.
HP PCL Commands The following data is compressed using method 3. Italicized bytes are those needing replacement, i.e., bytes different from the seed row. Graphics data is binary. Byte #: 1 2 3 4 5 Row 1 00000000 11111111 00000000 00000000 00000000 Row 2 00000000 11111111 11110000 00000000 00000000 Row 3 00001111 11111111 11110000 10101010 10101010 Esc * r 1 A Start Raster initializes the seed row to all zeros.
HP PCL Commands Control Bit: Determines whether the replacement data is encoded, and also the bit boundaries of the command byte’s other two fields. Offset Count: The number of bytes the replacement data is offset from the current position in the seed row. Replacement Count: The number of consecutive data bytes to be replaced. Control Bit = 0 If the control bit is 0, the replacement data is uncompressed. Bits 0-2 contain the replacement count; bits 3-6 contain the offset count.
HP PCL Commands Seed Row Source Esc * b # S Specifies the plane of the seed row for multi-plane graphics in compression methods 3 and 9. Value (#) = 0 - Use the corresponding plane of the previous row. = > 0 - Number of previous seed planes before the current plane Default = 0 Range = 0 to number of currently active planes. For example, if the printer is in 3-plane mode and Esc * b 0 S was sent, then: 4 The Cyan plane would use the Cyan plane from the previous row as a seed plane.
HP PCL Commands Simple Color HP2000C DJ970C DJ895C (Also known as Set Planes Per Row) DJ890C DJ850C DJ830C DJ810C DJ695C DJ680C DJ670C DJ660C DJ610C *r#U # Value DJ600 DJ690C Simple Color - Esc TABLE 56. DJ880C 10.16.1 Color DJ870C 10.
HP PCL Commands Row Pointer. The HP DeskJet 600/800/900 & HP 2000 Series printer firmware will complement the data and fire the pen as required to generate the appropriate CMY color. The RGB palette below shows both the RGB data values sent to the printer and the corresponding color printed.
HP PCL Commands 4 Plane (KCMY) Color Palette (value = -4) Planes per Row 4 86 Color Printed Data Plane Pattern K C M Y White 0 0 0 0 Yellow 0 0 0 1 Magenta 0 0 1 0 Red 0 0 1 1 Cyan 0 1 0 0 Green 0 1 0 1 Blue 0 1 1 0 Composite Black 0 1 1 1 Black 1 0 0 0 Black/Yellow 1 0 0 1 Black/Magenta 1 0 1 0 Black/Red 1 0 1 1 Black/Cyan 1 1 0 0 Black/Blue 1 1 0 1 Black/Green 1 1 1 0 Black 1 1 1 1 HP DeskJet 600, 700, 800, 900 & HP 20
HP PCL Commands Foreground Color HP2000C DJ970C DJ895C DJ890C DJ870C DJ850C DJ830C DJ810C DJ695C DJ680C DJ670C DJ660C DJ610C *v#S # Value DJ600 DJ690C Foreground Color - Esc TABLE 57. DJ880C 10.16.
HP PCL Commands TABLE 58. Single Plane (black) Palette Planes Per Row Index Color 1 0 White (no ink) 1 Black TABLE 59. Three Plane (CMY) Color Palette Planes per Row Index Color 3 0 White (no ink) 1 Cyan 2 Magenta 3 Blue 4 Yellow 5 Green 6 Red 7 Composite Black TABLE 60.
HP PCL Commands TABLE 61.
Fonts 11.0 Fonts A soft font is composed of a Font Definition (font header) and a series of character definitions. Both are described below. In order to use the standard bitmap font definition on a HP DeskJet 600 or 85X Series printers, the Font Descriptor Size field must be set to exactly 64. The First Code and Last Code fields must also contain valid information.
Fonts 11.2 Resolution-Specified Bitmap Font Definition (Format 20) The Resolution-Specified Bitmap font definition shown below is the same as the Standard Bitmap font definition, except that it allows specification of resolution (shaded fields). As with the Standard Bitmap Definition, the Font Descriptor Size field and the First Code/Last Code fields must be filled and valid. The Font Descriptor Size field for the Resolution Specified Bitmap must be at least 68.
Fonts The following notation is used to define data types in the font definitions: (BOOL) Boolean (0,1) (UBYTE) Unsigned Byte (0 . . . 255) (SBYTE) Signed Byte (-1 28 . . .1 27) (UINT) Unsigned Integer (0 . . . 65535) (SINT) Signed Integer (-32768 . . . 32767) (ULINT) Unsigned Long Integer (0 . . . (232-1 )) (SLINT) Signed Long Integer (_231. . . (23 (ASCxx) ASCII String (array (0 . . . (xx-1))) of characters 11.2.
Fonts a. Access to those codes that are unprintable, yet have a character defined, requires the use of the Transparent Print (Esc & P # X) command 11.2.
Fonts 5 - Outline with shadow 6 - In-line with shadow 7 - Contour with shadow 8-11 -Patterned (complex patterns, subjective to typeface) 12-15 - Patterned with shadow 16 - Inverse 17 - Inverse in open border 18-30 - Reserved 31 - Unknown structure The reserved bits (10 to 15) should be set to 0. If a font style of “italic compressed contour” is downloaded, the value(#) would be: 1 +(2x4)+(3x32)=105 11.2.6 ! 11.2.7 ! 11.2.8 ! 11.2.
Fonts 11.2.10 Spacing (BOOL) Specifies the type of font spacing. Fixed spacing is 0; proportional spacing is l; dual-fixed spacing is 2. ! 11.2.11 HP DeskJet printers prior to the HP DeskJet 600 Series treat values other than 0 or 1 as 1, and require that landscape fonts have fixed spacing. Symbol Set (UINT) Bound Font - Specifies the symbol set characteristic of the font. The value for this field is derived from the symbol set identification number (ID) used by Esc(lD in the font selection process.
Fonts 11.2.14 Height (UINT) Bitmap Font - Specifies the font’s height in quarter-dot units. The value, converted to points (1/72 inch), is used as the height characteristic of the font. Height combines with Height Extended to specify the design height of the font in 1/1024 dots. For example, a 10 point font at 300 dpi has a height field of 166 quarter dots (1200 quarter dots/inch, 1/72 inch/ point). (10 point) x (1 inch /72 point) x (300 dots/inch) x (4 quarter-dots/dot) = 166.667 11.2.
Fonts Value Stroke Weight 5 Black 6 Extra black 7 Ultra black Default = 0 Range = -7 to 7 (less than -7 maps to -7; greater than 7 maps to 7) 11.2.19 Typeface [LSB/MSB] (UBYTE) Specifies the HP typeface number of the font. Three versions of this field are used: the obsolete single-byte version for older fonts, the version used by HP DeskJet 500 and HP LaserJet III printers, and the new HP LaserJet 4 version (also used by the HP DeskJet 600 and 85X Series printers.
Fonts 2 3 3rd version 4th version Vendor (typeface word partial sum multiplied by 2048) 0 Reserved for generic typeface selection. 1 Reserved for HP use only. 2 Agfa Division, Miles Inc. 4 Bitstream Inc. 6 Linotype Company 8 The Monotype Corporation plc 10 Adobe Systems, Inc. 3, 5, 7, 9,11-15 Reserved Default = 3 Range = 0 to 65535 (unavailable values are ignored) Vendor Number (bits 11-14) - This HP-assigned value is between 0 and 15. Vendor Version (bits 10, 9) - This value is between 0 and 3.
Fonts 11.2.22 Placement HP DeskJet 600/800/900 & HP 2000 Series printers ignore this field. 11.2.23 Underline Position (SBYTE) Bitmap Font - Specifies the distance from the baseline to the top dot row of the underline in dots. Zero specifies an underline position at the baseline. A positive value specifies an underline position above the baseline. A negative value specifies an underline position below the baseline. Scalable Font - Set to 0. Underline Distance is ignored.
Fonts 11.2.27 First Code (UINT) Specifies the character code of the first printable character in the font. The space character may be printable, and will print an image if one is defined; otherwise, a space control code is executed. For a type 3 font, this field can have any value from 0 through 65535. First Code must be less than or equal to Last Code. Symbol SetType 0 1 2 10 11 11.2.
Fonts point font for a 300-ppi device would have a height of 166 (41.5 dots, or 9.96 points) and a Height Extended field of 170 (0.1660 dots additional, which adds to 9.9998 points). This field is similar to the Pitch Extended field (refer to the Pitch field example). Scalable Font - This field is ignored and should be set to zero. ! 11.2.31 HP DeskJet 500 Series printers ignore this field. The HP DeskJet 600 and 85X Series printers do not.
Fonts 11.2.36 Copyright This optional field contains ASCII data. 11.2.37 Font Scaling Technology This field specifies either an Intellifont or TrueType scalable font or, for Format 16, a bitmap font. Value 0 1 254 Font Scaling Technology Intellifont TrueType bitmap Using a value of 254 for bitmap fonts reserves the lower values for other font scaling technologies as they evolve. 11.2.38 Segment Size The Segment Size field of a Format 16 font is 32 bits in length.
Fonts 11.3 Bitmap Resolution Segment The BR (Bitmap Resolution) segment is used to define the X resolution and Y resolution of the bitmap. This segment must be present for bitmap fonts, otherwise the font is invalidated. If the specified resolution is not supported by the device, the font is invalidated. The structure for the BR segment is: Byte 15 (MSB) 8 17 0 Byte x BR x+1 x+2 Segment Size x+3 x+4 11.3.
Fonts 11.4 Character Enhancement Segment The CE (Character Enhancement) segment is used to indicate if a downloaded font is allowed to use the printer’s character enhancement algorithms. It allows soft-font vendors and ISVs to use the printer’s algorithms to enhance their fonts. The structure of the CE segment is: Byte 15 (MSB) 8 17 (LSB) 0 Byte x CE x+1 x+2 Segment Size x+3 x+4 x+5 x+6 Style x+7 x+8 11.4.
Fonts Bit Positions (#) 11.4.3 = StrokeWeight 0-6 reserved 7 Semi Light 8 “Book” or “Text” 9 Semi-Bold 10 Demi-Bold 11 Bold 12 Extra Bold 13 Black 14 Extra Black 15 Ultra Black Sizing (UINT16) This field specifies the algorithmic size transformations that can be applied to the font. The operation can apply to either the X or Y dimension of the characters. Sizing Word = Reduction + Expansion 15 8 7 Expansion Bit Positions (#) 0 Reduction = = Reduction 0 0.5 X dimension 1 0.
Fonts 11.5 Dual-Pitch-Space Char Segment The DP (Dual-Pitch-Space Character Code) segment is used to specify the space character code for full-width spacing (two-byte characters) and half-width spacing (one-byte characters). The structure for the Dual-Pitch-Space Character Code segment is as follows: Byte 15 (MSB) 8 7 (LSB) 0 x DP x+1 x+2 Segment Size x+3 x+4 11.5.
HP LaserJet Bitmap Character Definition 12.0 HP LaserJet Bitmap Character Definition The format for the HP LaserJet bitmap character definition and continuation block is shown below. Format is set to 4, and Descriptor Size is set to 14. Byte 15 (MSB) 8 7 (LSB) 0 0 Format (4) Continuation (0) 2 Descriptor Size (14) Class (1) 4 Orientation Reserved (0) 6 Left Offset 8 Top Offset 10 Character Width 12 Character Height 14 Delta X 16 Bitmap Character Data: (in bytes) ....
HP LaserJet Bitmap Character Definition 12.0.2 Continuation (BOOL) Specifies whether the following data is a character descriptor block (0) or a continuation (nonzero) of the data associated with the previous character descriptor. If the byte count in the value field of the Define Character command exceeds 32767, the character must be sent in 2 or more blocks. The additional bytes are sent in as many continuation blocks as needed (except compound characters). Compound characters (e.g.
HP LaserJet Bitmap Character Definition of the character (in portrait orientation): the first dot row of data corresponds to the first dot row of the character. The end of each row is padded with zero bits so it contains an integral number of bytes. The number of bytes of the character data should be exactly the Character Width (in bytes) times the Character Height. Additional data is discarded. The character will consist only of the downloaded character data, even if this is insufficient.
HP LaserJet Bitmap Character Definition Character Height Left Offset Line Repetition Character Width Padding for Byte Alignment* Number Number Number Number Number Number White Black White White Black Black Pixels Pixels Pixels Pixels Pixels Pixels 2 0 20 - - - - 0 0 2 6 4 6 2 0 0 1 7 4 7 1 12 8 4 8 - - - 1 5 10 5 - - - *Byte alignment is necessary only for raster data (i.e., not for compressed raster data).
HP LaserJet Bitmap Character Definition 12.0.5 Orientation (UBYTE) Bitmap fonts only. Specifies the orientation of the character. Character orientation must match the orientation in the font descriptor, as follows: Value 0 1 2 3 Orientation Portrait Landscape Reverse-portrait Reverse-landscape The character is discarded if the orientation is not supported or is different from the font orientation. 12.0.6 Left Offset (SINT) Bitmap fonts only.
HP LaserJet Bitmap Character Definition 12.0.10 Delta X (SINT) Bitmap fonts only. Specifies the number of quarter-dot units (radix dots) by which the horizontal position within the HP PCL logical page coordinate system is incremented after printing the character. If the value field is negative, the value is set to 0. This value is used by the printer only when the font is proportionally spaced. 12.0.11 Character Data The character data is in the format specified by the class field.
Banner Printing 13.0 Banner Printing The following information concerns the printing of continuous forms (banners, z-fold media) on the HP DeskJet 680 and 690 Series printers. This is the only information made available by the VCD R&D lab. There are no new HP PCL commands for banner printing. The only HP PCL command that has actually been modified in association with printing on continuous media is the command.
Banner Printing 13.0.2 Margins Margins in banners are handled the same as margins with cutsheet media. Default top and bottom margins are 1/2 inch. If perforation skip is disabled (Esc * l 0 L), the margins are adjusted to 0 top and bottom.
Banner Printing 13.0.6 Power-On with Continuous Media The firmware will remember what media type is loaded. If powered down with continuous media loaded, the firmware will power on with the top LED flashing (as described above) allowing the user to unload the continuous media if cutsheet media is desired for the next print job. 13.0.
HP PCL Code Samples 14.0 HP PCL Code Samples The following pages contain PCL code samples that are intended to address some of the most commonly asked support questions. Key among these questions are coding general page formatting, 4-plane color graphics, and using Configure Raster Data (CRD). 14.1 Page Formatting Program Example The following example is old, but covers the essential page formatting commands.
HP PCL Code Samples Command Line, Action Command Comment Set Text Length Esc & l 72 F 11 in. page length - [3/4 in. margin + 1 1/4 in. bottom margin] = 9 in. 9 in. X 8 lpi = 72 lines Specify Fixed 12 cpi Esc (s 0 p 12 H 12 cpi is used to set columns for side margin calculations. Set Left Margin Esc & a 6 L 3/4 in. margin = [6 columns X 12 cpi (selected font pitch)] + 1/4 in. unprintable region Set Right Margin Esc & a 90 M Page width is 8 1/2 in. The unprintable region accounts for 1/4 in.
HP PCL Code Samples 14.2 Commands Sent to Printer The series of escape sequences in the table above sends the following commands to the printer. The series of dots (...) indicate main text. Spaces in escape sequences are for clarity only; do not include them in the data stream. EscE Esc&l2a0O Esc&k1w5W Esc& l1l8d88p6e72F Esc(s0p12H Esc&a6l90M Esc*p95y+475X Esc(12U Esc(s6h12v0s3b6TDeskJet Printer Family Esc(& l9C Esc(s1p12v0s0b4101TIn February 1988, HP introduced the original DeskJet printer at a U.S.
HP PCL Code Samples 14.3 3-Plane Color Graphics The following shows a simple 3 plane color graphics PCL code sample that prints CYAN, MAGENTA, YELLOW, then blends them together to produce BLACK, RED, GREEN and BLUE.
HP PCL Code Samples 14.4 4-Plane Color Graphics The following shows a simple 4 plane color graphics PCL code sample that prints BLACK, CYAN, MAGENTA, YELLOW, then blends them together to produce BLACK, RED, GREEN and BLUE.
HP PCL Code Samples PCL Codes HEX Data (Run Length Compression) Description *b18W 0800 0800 0800 08FF 0100 08FF 08FF 08FF 0800 (Yellow data) *b18V 08FF 0800 0800 0800 0100 0800 0800 0800 0800 (Black data) *b18V 0800 08FF 0800 0800 0100 08FF 0800 08FF 08FF (Cyan data) *b18V 0800 0800 08FF 0800 0100 08FF 08FF 0800 08FF (Magenta data) *b18W 0800 0800 0800 08FF 0100 08FF 08FF 08FF 0800 (Yellow data) *rC End Raster E Reset printer HP DeskJet 600, 700, 800
Printer Commands 15.
Printer Commands Esc * c # E Character Code Esc ) s W Download Font Esc * c # F Font Control Esc Y Display Functions Mode On Esc * o # M Print Quality Esc Z Display Functions Mode Off a. Obsolete commands for 6XX printers and above.
Other Resources for Assistance 16.0 16.1 Other Resources for Assistance HP Developer Exchange Available on the World Wide Web - HP Printing & Imaging Solution Provider Program. Become a registered HP Developer, and receive other documents like this one on other HP products. HP Printing & Imaging Solution Provider Program can be found at: http://dsportal.eservices.hp.com/dspp/home/home_DSPPJumpPage_IDX/ 16.