HP 1220 - LaserJet B/W Laser Technical Reference Manual

Hp pcl/pjl reference - printer job language technical reference manual.
Hide thumbs

Advertising

   Also See for HP 1220 - LaserJet B/W Laser

   Related Manuals for HP 1220 - LaserJet B/W Laser

   Summary of Contents for HP 1220 - LaserJet B/W Laser

  • Page 3

    Printer Job Language Technical Reference Manual...

  • Page 4: Copyright And License

    Copyright and Trademarks License Adobe, PostScript, and the PostScript logo are trademarks © 2003 Hewlett-Packard of Adobe Systems Incorporated, Development Company, LP which may be registered in All Rights Reserved. certain jurisdictions. AppleTalk Reproduction, adaptation, or is a registered trademark of translation without prior written Apple Computer, Inc.

  • Page 5: Inside This Manual

    Inside This Manual What You Can Learn From This Manual Printer Job Language (PJL) was developed by Hewlett-Packard to provide a method for switching printer languages at the job level, and for status readback between the printer and the host computer. PJL offers application programs an efficient way to remotely control Hewlett-Packard printers.

  • Page 6: Manual Organization

    Manual Organization This manual is comprised of eleven chapters and four appendices. The first three chapters introduce you to the range of PJL features, PJL syntax and format, some rules about using PJL, and a brief description of each command. Chapter 4 explores the essential “kernel”...

  • Page 7

    Chapter 5. Job Separation Commands Chapter 5 describes the JOB and EOJ commands, which are used in combination to define job boundaries and provide job-related feedback, such as job completion. Chapter 6. Environment Commands This chapter explains setting the printer to a known state. The DEFAULT, INITIALIZE, RESET, and SET commands are explained here.

  • Page 8

    Chapter 11. Programming Tips for Using PJL This chapter demonstrates how to create well-formed jobs and discusses common problems and things to watch for when using PJL commands. Samples are included to demonstrate different types of applications. Appendix A. Product-Specific Feature Support This chapter lists all of the PJL commands and shows which commands are supported by the different PJL printers.

  • Page 9: Related Documents

    Related Documents The following documents provide related information about Hewlett-Packard PCL 5 printers. PCL 5 Printer Language Technical Reference Manual The PCL 5 Printer Language Technical Reference Manual provides a description of the printer command language that controls PCL 5 printers.

  • Page 10: Manual Conventions

    Manual Conventions This manual uses the following conventions: • Items in italics indicate names of variables. • Items in UPPERCASE letters indicate PJL command names and words you type verbatim. PJL command names referred to in text are also in uppercase. •...

  • Page 11: Table Of Contents

    Contents Printer Job Language Technical Reference Manual Inside This Manual ..........1-iii Manual Organization .

  • Page 12: Table Of Contents

    5 Job Separation Commands JOB Command ..........5-2 EOJ Command .

  • Page 13: Table Of Contents

    After Job Failure ..........7-44 8 Device Attendance Commands RDYMSG Command .

  • Page 14

    HP LaserJet 5Si/ 5SiMx/5Si Mopier Comments ..... . . A-56 HP LaserJet 5Si Mopier Comments ....... . A-57 HP LaserJet 4000 and 5000 Series Comments .

  • Page 15

    Introduction to PJL What is PJL? Hewlett-Packard's Printer Job Language (PJL) was developed to give software applications more job-level printer control, and to provide printer status information to applications. PJL provides for the special needs of networks and other multi-user systems, in addition to...

  • Page 16

    Figure 1-1 PJL Resides Above Other Printer Languages Note Some HP printers, such as the LaserJet 4L, 5L, 6L, or 1100 Series printers, do not support printer language switching or job separation. See Appendix A for feature support information. Using PJL, software applications can request information such as printer model, configuration, and status.

  • Page 17: The Benefits Of Pjl, Who Should Use Pjl?

    The Benefits of PJL Listed below are some of the benefits PJL provides: • Programmatic printer language switching. PJL provides fully reliable switching between printer languages, such as PCL, Epson, IBM ProPrinter, and PostScript, directly from within applications. • Printer status readback. Printer model information, configuration, printer feature settings, and other printer status information can be obtained using PJL.

  • Page 18: Compatibility With Non-pjl Printers

    Compatibility With Non-PJL Printers Because all HP printers do not support PJL, it is important to know what happens when PJL commands are sent to a non-PJL printer. PJL commands are recognized by the following HP printers: • LaserJet IIISi, 4Si, 4SiMx, 5Si, 5SiMx, 5Si Mopier •...

  • Page 19: Pcl Jobs, Postscript Jobs, Other Printer Languages

    PCL Jobs When non-PJL printers receive PCL jobs, any PJL commands that precede the initial PCL printer reset command (<ESC>E) print as ASCII text. When the initial printer reset command is received, it causes a page eject and the PCL job begins on a new page. The end result is a page or more of PJL commands followed by the PCL job, and possibly followed by more PJL commands.

  • Page 20

    1-6 Introduction to PJL...

  • Page 21

    PJL Command Syntax and Format Introduction This chapter explains the conventions used to describe PJL command syntax. This chapter also describes the several different formats that PJL commands may take, giving examples of each. The chapter provides an explanation of how PJL-compatible printers handle illegal commands.

  • Page 22: Syntax Conventions

    Syntax Conventions The following syntax conventions are used to describe the PJL commands in this manual: variables Items in italics indicate names of variables. COMMANDS Items in uppercase letters indicate PJL command names and words that you type verbatim. PJL command names referred to in text are also in uppercase.

  • Page 23

    The following illustration is an example of a PJL command line containing the ENTER command: The table below lists the control codes and special identifiers used in this manual: <HT> Horizontal tab character (ASCII 9). <LF> Line feed character (ASCII 10). <CR>...

  • Page 24: Format Of Pjl Commands

    Format of PJL Commands All PJL command lines follow one of the following four formats. Each format defines how commands using that format are structured. Format #1 <ESC>%–12345X The only command that uses this format is the Universal Exit Language (UEL) command. Format #2 @PJL [<CR>]<LF>...

  • Page 25: Pjl Syntax Rules

    [LPARM : personality]|[IPARM : port] variable = value [<CR>] <LF>, you can use either the LPARM command modifier or the IPARM command modifier, but not both. [option name [ = value ] ] — The option parameter specifies an option or sets a command option to a certain value. Examples include “@PJL INQUIRE COPIES”...

  • Page 26

    • The placement of white space in PJL commands depends on its location within the command. Some white space is required and some is optional: • White space is required between the @PJL prefix and the PJL command name, and between the PJL command name and command modifiers.

  • Page 27: Types Of Variables

    Types of Variables PJL uses alphanumeric variables, numeric variables, and strings. The following explains the three types of variables and their ranges. • Alphanumeric variables. Any combination of letters and digits, with the stipulation that the first character always must be a letter.

  • Page 28

    • Strings. Enclosed in quotation marks, strings consist of any combination of characters from Roman-8 character 32 through 255, plus character 9 (horizontal tab), excluding character 34 (quotation marks). Examples of valid strings include: "<HT>This is a valid string." (Tabs are allowed in strings) "Print job #4655"...

  • Page 29: Processing Invalid Commands

    Processing Invalid Commands There are two general types of invalid commands: those commands with syntax errors, and those that have syntax or semantic warnings. Each type is handled differently. • Syntax errors cause the printer to ignore the entire PJL command, and include errors such as unrecognized commands and command modifiers, strings missing closing double-quotes, numeric values missing digits before the...

  • Page 30

    Note Any errors that occur during PJL parsing can be received by enabling device status as described in Chapter 7 (send the @PJL USTATUS DEVICE = VERBOSE command). Appendix D lists the status codes that are received by the host when an invalid command is received and unsolicited verbose device status is enabled.

  • Page 31: Overview Of How Commands Are Used

    Using PJL Introduction This chapter describes how PJL commands are used. After reading this chapter, you can create basic jobs and perform simple PJL tasks, such as printer language switching and changing some PJL feature settings. To give you an understanding of where to look for more PJL information, this chapter explains how the manual categorizes PJL commands into groups of related commands.

  • Page 32

    PJL Code PCL Job PJL Code PostScript PJL Code Figure 3-1 PJL Commands Encapsulate Print Jobs 3-2 Using PJL...

  • Page 33: Pjl Job Requirements

    PJL Job Requirements PJL has certain job requirements that must be met to work correctly. Jobs that satisfy the following requirements are “well-formed” and work well with all PJL printers, both in single-computer/single-printer environments and network environments. Here are the requirements: •...

  • Page 34: Some Sample Pjl Jobs

    Some Sample PJL Jobs This section consists of two basic PJL jobs that illustrate how to use PJL. The first job changes a few printer control panel settings and prints a PCL file. The second job prints a PCL file followed by a PostScript file.

  • Page 35: What's Next?

    What's Next? Now that you have learned the PJL requirements and have seen how to use PJL commands in the sample programs described on the previous page, look through the following “Command Groupings” table. It can help you find the information you need to add PJL capabilities to your application.

  • Page 36: Command Groupings By Functionality

    Command Groupings by Functionality This manual categorizes the PJL commands into related groups. Each group of commands is covered in a separate chapter, as indicated in the following table. This table lists each command and gives a short description of each. Command Group Command Command Description...

  • Page 37

    Command Group Command Command Description Status Readback INQUIRE Requests the current value Commands for a specified environment (Chapter 7) variable. DINQUIRE Requests the default value for a specified environment variable. ECHO Returns the <words> portion of the command to the host computer. INFO Requests a specified category of printer...

  • Page 38

    Command Group Command Command Description Device Attendance RDYMSG Specifies a message that Commands replaces the READY (Chapter 8) message on the printer control panel. Does not affect online state. OPMSG Displays specified message on printer control panel and takes printer offline.

  • Page 39

    Using PJL 3-9...

  • Page 40

    3-10 Using PJL...

  • Page 41: Universal Exit Language (uel) Command

    Kernel Commands Introduction This chapter explains the following three PJL commands: • Universal Exit Language (UEL) command — exits the current printer language and returns control to PJL. • ENTER command — selects a printer language for processing the current job. •...

  • Page 42

    Universal Exit Language (UEL) Command The Universal Exit Language (UEL) Command causes the printer to exit the active printer language. The printer then returns control to PJL. Note Use the UEL command at the beginning and end of every PJL job. You do not need a UEL command before every PJL command.

  • Page 43: Enter Command

    the “Methods of Printer Language Switching” later in this chapter). Instead of relying on implicit switching, use the ENTER command to specify the printer language, even if the printer has only one printer language. The following example demonstrates the use of the UEL command. Example: Using the UEL Command This example enters PCL and prints a PCL job.

  • Page 44: Enter Command

    ENTER Command The ENTER command enables the specified personality (such as PCL or PostScript). Use this command to select the printer language for printing subsequent data. Syntax: @PJL ENTER LANGUAGE = personality [<CR>]<LF> Parameters: Parameter Range personality PCL, POSTSCRIPT, ESCP, Others * * Other personalities might be supported.

  • Page 45

    Note To select the ESC/P personality, always be sure to use the @PJL ENTER LANGUAGE = ESCP command to explicitly select it. For any job containing personality-specific data, send the ENTER command if the intended printer language is known, instead of relying on the printer's ability to switch to the default printer language.

  • Page 46: Comment Command

    COMMENT Command The COMMENT command enables you to add a line of information as a comment. Use this command whenever you want to add an explanation to PJL commands. Syntax: @PJL COMMENT remarks [<CR>]<LF> Parameters: Parameter Range remarks Roman-8 character codes 33 through 255 and <WS>, starting with a printable character.

  • Page 47: Methods Of Printer Language Switching

    @PJL <CR><LF> @PJL JOB NAME = "Using Comments" <CR><LF> @PJL <CR><LF> @PJL <CR><LF> @PJL COMMENT **** TURNING OFF **** <CR><LF> @PJL COMMENT **** RESOLUTION **** <CR><LF> @PJL COMMENT **** ENHANCEMENT **** <CR><LF> @PJL SET RET = OFF <CR><LF> @PJL <CR><LF> @PJL COMMENT ***** ENTERING PCL ***** <CR><LF>...

  • Page 48

    particular printer language. Once it recognizes the printer language, the printer backs up to the beginning of the sampled print data and switches to the printer language determined to be most appropriate. Then it begins to parse the data in the newly selected printer language.

  • Page 49: Job Separation Commands

    Job Separation Commands Introduction This chapter explains the JOB and EOJ commands. These commands are used to describe the boundaries of a job, indicating where the PJL job begins and ends. The commands can be used to name a job, and they support a non-printing mode for printing selected pages within a job.

  • Page 50: Job Command

    JOB Command The JOB command informs the printer of the start of a PJL job and synchronizes the job and page status information. It also is used to specify which pages of a job are printed. Use the JOB/EOJ commands for spooling and related applications to monitor printing status, name a job, print portions of a job, or to mark job boundaries to keep the printer from treating a single print job as multiple jobs (for example, when printing a job with a banner page).

  • Page 51

    • NAME = "job name" — The command option NAME tags the print job with a job name. The variable job name can be any combination of printable characters and spaces or horizontal tab characters, with a maximum of 80 significant characters. The job name variable is a string and must be enclosed in double quotes, as shown in the command syntax.

  • Page 52

    • DISPLAY="display text " — The command option DISPLAY is used to display a job message on the control panel display. The message is displayed when the printer begins to work on this job and is removed when the last page of this job reaches the output bin.

  • Page 53

    JOB commands can be nested. For example, a spooling application can send a PJL job that uses the JOB command to another spooler that encapsulates the spooled job with another JOB/EOJ command pair. When this is done, note that the job name from the outer JOB command is cleared or overwritten by the inner command.

  • Page 54

    Example: Using the JOB Command to Monitor Job Status This example demonstrates a PostScript print job that is spooled before printing. The job actually consists of three separate sections (notice the UEL commands that bound the three sections—the first section does not need a closing UEL command since the printer is already in PJL mode): •...

  • Page 55: Related Commands

    Example: Nested JOB Commands This example shows a PCL job that was sent to spooler 1, which in turn was sent to spooler 2 (the nested jobs are indented). Note that the first job name is overwritten by the second job name (“Spooler 1 Job”) when the second JOB command is processed.

  • Page 56: Eoj Command

    EOJ Command The EOJ command informs the printer that the job has completed. Use this command whenever you use the JOB command. Note The JOB and EOJ commands are always used in pairs. Do not use one without the other. Syntax: @PJL EOJ [NAME = "job name"] [<CR>]<LF>...

  • Page 57

    • Terminates the non-printing mode (enabled by using the START/END options). The non-printing mode, if enabled by the last JOB command, only applies to the previously received data, and does not effect any future pages until another JOB command enables the non-printing mode again. Effect on Unsolicited Job Status When the printer receives this command, it returns unsolicited job status information, if enabled, when the last page of the job exits the...

  • Page 58: Pjl Job Security, Password Protection Of Default Feature Settings

    PJL Job Security HP LaserJet 2100 series, 4000 series, 4500 series, 5000 series, 8000 series, 8100 series, 8500 series, 4/4M Plus, 4V, 4MV, 4Si, 4SiMx, 5, 5M, 5Si, 5SiMx, 5Si Mopier, 5P, 6P, and 6MP printers support the following types of PJL security: •...

  • Page 59: Control Panel Lock, Disk Lock

    Control Panel Lock You can “lock” the control panel by sending the @PJL DEFAULT CPLOCK = ON command. When the control panel is locked, the user cannot change any control panel settings. If the user tries to change any control panel settings, the message “MENUS LOCKED” appears on the control panel display for about 5 seconds.

  • Page 60

    Example: Using PJL Security This example demonstrates how to set a password and to lock the control panel so users cannot modify control panel settings. It is assumed the password value at the start of job is 7654. The example changes the password to 1776.

  • Page 61: Job Cancellation, Start Of Job Notification

    Job Cancellation HP LaserJet 2100 series, 4000 series, 4500 series, 5000 series, 8000 series, 8100 series, 8500 series, 5, 5M, 5Si, 5SiMx printers and the LaserJet 5Si Mopier support job cancellation using the printer control panel. When a PJL print job is started using the PJL JOB command as described in this chapter, the following PJL information can be obtained from the printer: •...

  • Page 62: End Of Job Notification

    End of Job Notification Near the end of the PJL job, the application should send the EOJ command as described in this chapter. If unsolicited job status is enabled when the last page of the job is delivered to the output bin, the printer responds to the EOJ command with an @PJL USTATUS JOB END response.

  • Page 63: Job Cancellation Unsolicited Status

    Job Cancellation Unsolicited Status As soon as the printer receives notification that a job is cancelled, the printer provides the @PJL USTATUS JOB CANCELED message to the driver/spooler if unsolicited job status is enabled. Using the same job name and ID number as the previous example, the printer's response would be: @PJL USTATUS JOB<CR><LF>...

  • Page 64

    5-16 Job Separation Commands...

  • Page 65: Environment Commands

    Environment Commands Introduction Hewlett-Packard printers have many features you can set using printer commands or by pressing control panel keys. Since previous jobs can change feature settings to unwanted values, applications should set printer features affecting the print job to a desired state at the beginning of the job.

  • Page 66: Print Environments

    Print Environments At any time during printer operation, the printer's current feature settings are referred to collectively as the print environment. When certain printer events occur, such as the incidence of a printer language reset, RESET command, or other PJL reset condition, the print environment settings can default to the settings of other stored environments.

  • Page 67

    • User Default Environment — This environment contains the values that are set using the DEFAULT command or the control panel keys. These values are stored in non-volatile RAM (in those printers containing NVRAM). Following any PJL reset condition, these values are placed into the PJL Current Environment.

  • Page 68

    Figure 6-1 How Environments Affect the Print Job 6-4 Environment Commands...

  • Page 69: Changing Environment Settings

    Changing Environment Settings The following scenario elaborates on how the print environment changes during printer operation. The “number of copies” feature is used to show feature changes as events occur. The first time the printer is turned on after it leaves the factory (or after the INITIALIZE command), the number of copies feature is set to the factory default value of 1 copy.

  • Page 70: Environment Summary

    Example: Changing Environment Settings This example shows the values stored in the different environments when commands are issued. The example begins with the number of copies set to 1 in all environments (the Factory Default Environment setting). The table reflects the current settings after each command. Environment Setting Factory User...

  • Page 71

    Factory Default Stored permanently in printer memory—settings cannot be modified. Environment Factory default settings cannot be read programmatically, but they are listed in the PCL 5 Comparison Guide. User Default The User Default Environment is set to the factory default values when the printer initially is powered on—before printer commands are sent from an application or any Environment control panel settings are changed.

  • Page 72: Pjl Reset Conditions

    PJL Reset Conditions 6-8 Environment Commands...

  • Page 73

    “PJL reset conditions” are listed below. Note that PJL reset conditions differ from printer language resets (such as <ESC>E). Printer language resets load the PJL Current Environment values into the Modified Print Environment. PJL reset conditions are more powerful. They load the User Default values into the PJL Current Environment, and also into the Modified Print Environment.

  • Page 74: Key Points To Remember About Environments

    Key Points to Remember About Environments When using PJL to set the printer to a desired state, remember the following points. • At the beginning of a PJL job, the current feature settings are the same as the control panel values or those features set with the DEFAULT command.

  • Page 75: Pjl Environment Variables

    PJL Environment Variables This section lists the PJL environment variables. General PJL environment variables (those not printer language-specific) are listed first, followed by printer language-specific variables. For most variables except the read-only variables, value settings can be modified using the following commands: •...

  • Page 76: General Pjl Environment Variables

    General PJL Environment Variables The following table lists the PJL environment variables that are not printer language-specific. When you use these variables, do not use the LPARM : personality option. The range of values for each variable may differ for the various printer models. Appendix A lists the environment variables and indicates which printers support each variable.

  • Page 77

    General PJL Environment Variables (continued) Sample Value Variable Description Range BITSPERPIXEL For PCL 6 only, this variable controls 2, 1 the number of bits per pixel used when printing grayscale or color images. The valid values are dependent on the current setting of RESOLUTION.

  • Page 78

    General PJL Environment Variables (continued) Sample Value Variable Description Range COPIES Number of uncollated copies for each 1 to 999 page of the job. COURIER Sets the version of the Courier font. REGULAR, DARK CPLOCK Sets the default control panel lockout ON, OFF, state.

  • Page 79

    General PJL Environment Variables (continued) Sample Value Variable Description Range FORMLINES Number of lines per page. This variable 5 to 128 is tied to both the PAPER and ORIENTATION variables. If the value of either of those variables is changed, then the FORMLINES variable automatically is updated to maintain the same line spacing.

  • Page 80

    General PJL Environment Variables (continued) Sample Value Variable Description Range INTRAY2 Returns the auto-selection lock status LOCKED, for tray 2 (usually the standard cassette UNLOCKED or lower cassette, depending on the printer). INTRAY3 Returns the auto-selection lock status LOCKED, for tray 3 (usually the optional cassette UNLOCKED or envelope feeder, depending on the printer).

  • Page 81

    General PJL Environment Variables (continued) Sample Value Variable Description Range INTRAY5SIZE Returns the size of the paper currently LETTER, LEGAL, installed in the first optional input tray. A4, A3, LEDGER, INTRAY5SIZE is a valid variable only if JISB4, JISB5, the optional tray currently is installed. If EXECUTIVE, it is not installed, the printer returns “?”...

  • Page 82

    General PJL Environment Variables (continued) Sample Value Variable Description Range JOBNAME Assigns a job name to a “Proof and “jobname string” Hold” job. This is different than the NAME variable associated with the JOB command. JOBOFFSET Sets the default job offset state. ON, OFF LANG Sets the default display language for the...

  • Page 83

    General PJL Environment Variables (continued) Sample Value Variable Description Range MPTRAY Returns the configuration value of the CASSETTE, multi-purpose tray. MANUAL, FIRST ORIENTATION Page orientation. PORTRAIT, LANDSCAPE OUTBIN Sets the default output bin. (For UPPER, LOWER, HP LaserJet 4Si, 4SiMx, 4000 series, OPTIONALOUT- 5Si, 5SiMx, 5Si Mopier printers, the PUTBIN1, .

  • Page 84

    General PJL Environment Variables (continued) Sample Value Variable Description Range PAGEPROTECT Page protection configuration. The OFF, LETTER, page protection feature reserves a LEGAL, A4, AUTO, block of printer memory to prevent printer overrun errors (error 21) when formatting very dense or complex images, especially HP-GL/2 images.

  • Page 85

    General PJL Environment Variables (continued) Sample Value Variable Description Range PAPERLENGTH Sets the length of the paper in 0 to 432000 decipoints (1/720th of an inch). PAPERWIDTH Sets the width of the paper in decipoints 0 to 432000 (1/720th of an inch). PARALLEL Sets the speed of the parallel port.

  • Page 86

    General PJL Environment Variables (continued) Sample Value Variable Description Range PLANESINUSE Defines the number of planes of data in 3, 1 a job. A value of 1 indicates a monochrome job, while a value of 3 indicates a color job. POWERSAVE Enables or disables power-saving ON, OFF...

  • Page 87

    General PJL Environment Variables (continued) Sample Value Variable Description Range REFILLTHRESHOLD Specifies as a percentage the level of 5 to 100 ink remaining in the pen before a refill is started. 100% means that refilling takes place when there is no usable ink remaining in the pen.

  • Page 88

    General PJL Environment Variables (continued) Sample Value Variable Description Range RESOLUTION Print resolution in dots per inch. When a 300, 600 job is sent, if there is not enough memory to run with the current resolution and page protection configuration, the system temporarily overrides the resolution and/or page-protect values to run the job.

  • Page 89

    General PJL Environment Variables (continued) Sample Value Variable Description Range TIMEOUT Duration of I/O timeouts in seconds. If 5 to 300 the printer waits longer than the timeout value without receiving any data, it ends the print job and begins accepting data from other I/O ports, if any.

  • Page 90: Port-specific Variables (laserjet 4pj Only)

    Port-Specific Variables (LaserJet 4PJ Only) The following variable is I/O port-specific in the HP LaserJet 4PJ printer, and can be set and requested using PJL. This variable must be set using the IPARM : port option. For the HP LaserJet 4PJ, the valid values for port are SERIAL and PARALLEL.

  • Page 91: Pcl-specific Variables

    PCL-Specific Variables The following variables are PCL-specific and can be set and requested using PJL. These variables must be set using the LPARM : PCL option. A sample value range is shown in this table. See Appendix A for the actual value range for each PJL printer, or use the INFO VARIABLES command to request these values from the printer.

  • Page 92

    PCL-Specific Variables (continued) Sample Value Variables Description Range FONTNUMBER If the value of the FONTSOURCE 0, 1, 2, . . . n (continued) changes, then the FONTNUMBER variable automatically is changed to the lowest numbered font in the new font source (0 if the new font source contains a default-marked font;...

  • Page 93

    PCL-Specific Variables (continued) Sample Value Variables Description Range FONTSOURCE The valid values for FONTSOURCE I, M1, M2, M3, M4, are: C, C1, C2, S (Internal Fonts) (the number of C, C1, C2 (Cartridge Fonts) cartridge and SIMM slots varies S (Permanent Soft Fonts) by printer) M1, M2, M3, M4 (Fonts stored in one of the printer's ROM SIMM...

  • Page 94

    PCL-Specific Variables (continued) Sample Value Variables Description Range LINETERMINATION Sets the default PCL line termination 0, 1, 2, 3 value: 0: CR = CR, LF = LF, FF = FF (no change) 1: CR replaced by CR-LF, LF = LF, FF = 2: CR = CR, LF replaced by CR-LF, FF replaced by CR-FF 3: CR replaced by CR-LF, LF replaced...

  • Page 95: Postscript-specific Variables

    PostScript-Specific Variables The following table lists the currently defined PostScript-specific variables. These variables can be set using the LPARM : POSTSCRIPT option. Sample Value Variable Description Range ADOBEMBT Normally, when PostScript formats a page in OFF, ON, AUTO memory for printing, it formats a full page (full frame).

  • Page 96: Esc/p-specific Variables

    ESC/P-Specific Variables The following table lists the currently defined ESC/P-specific variables which are valid only for HP LaserJet 4PJ and 4LJPro printers, and optionally for HP LaserJet 4V and 4MV printers. These variables can be set using the LPARM : ESCP option. Note that HP LaserJet 4PJ, 4V, and 4MV factory defaults for these variables are in parentheses.

  • Page 97

    Sample Value Variable Description Range CARRIAGE- Controls how ESC/P interprets the carriage (CR), CRLF RETURN return (CR) control character. The valid values for CARRIAGERETURN are: CR–CR maps to carriage return;CRLF–CR maps to carriage return and linefeed. CHARACTER- Default character set used for 1-byte printing. (KANA), EG Valid values for CHARACTERSET are: KANA–...

  • Page 98: Setting The Printer To A Desired State

    Setting the Printer to a Desired State At the beginning of each print job, printer features which affect the printed output must be set to a desired state to print the job as expected. This can be accomplished in two ways: •...

  • Page 99

    Example: Setting the Printer to a Desired State The following example demonstrates setting HP LaserJet 4 and 4M printers to a known state. For the specific printer you are configuring, consider which environment features you can modify. The modifiable environment features for HP LaserJet 4 and 4M printers are listed below (see Appendix A for a list of environment variables supported by each PJL printer): COPIES...

  • Page 100: Default Command

    DEFAULT Command The DEFAULT command sets the User Default Environment value for the specified environment variable. This value is stored in non-volatile RAM (if the printer has NVRAM) and is activated following a PJL reset condition. The DEFAULT command does not affect the current print environment, but takes effect when a PJL reset condition occurs.

  • Page 101

    • IPARM : port — This optional parameter is used to set port-specific variables. The HP LaserJet 4PJ is the only printer which supports port-specific variables. • IPARM : port — This option must be used when setting port-specific variables. Valid values for port for the HP LaserJet 4PJ printer are SERIAL and PARALLEL.

  • Page 102

    PRTPSERRS, must be set using this option. Variables that are not personality-specific cannot be set using the LPARM : personality option. All port-specific variables must be set using the IPARM: port option. Variables that are not port-specific cannot be set using the IPARM : port option.

  • Page 103: Initialize Command

    INITIALIZE Command The INITIALIZE command resets the PJL Current Environment and the User Default Environment variables to their Factory Default values. This command does not affect the I/O configuration values, some of the configuration values, and the unsolicited status settings. Use the INITIALIZE command to set the printer environment values to their factory default state, such as when you move the printer to a new installation site.

  • Page 104

    Variable Names BINDING ORIENTATION COPIES OUTBIN CPLOCK PAGEPROTECT DISKLOCK PAPER DUPLEX PASSWORD ECONOMODE PERSONALITY FINISH FORMLINES REPRINT IMAGEADAPT RESOLUTION JOBOFFSET MANUALFEED TIMEOUT PCL-Specific Variables FONTNUMBER PTSIZE FONTSOURCE SYMSET PITCH PostScript-Specific Variables JAMRECOVERY PRTPSERRS ESC/P-Specific Variables ANKCONDENSE FONT CARRIAGERETURN TOPMARGIN CHARACTERSET Note The environment variables may vary with different HP LaserJet printer models.

  • Page 105

    Example: Using the INITIALIZE Command This example initializes the printer: <ESC>%-12345X@PJL <CR><LF> @PJL COMMENT Initialize settings to <CR><LF> @PJL COMMENT factory defaults <CR><LF> @PJL INITIALIZE <CR><LF> <ESC>%-12345X Related Commands: DEFAULT, RESET, SET Environment Commands 6-41...

  • Page 106: Reset Command

    RESET Command The RESET command resets the PJL Current Environment variables to their User Default values. This command has the same effect on the PJL Current Environment as power-cycling the printer. Use this command at the end of PJL jobs that use the SET command to set the printer back to its default state.

  • Page 107

    Variable Names BINDING ORIENTATION COPIES OUTBIN CPLOCK PAGEPROTECT DISKLOCK PAPER DUPLEX PASSWORD ECONOMODE PERSONALITY FINISH FORMLINES REPRINT IMAGEADAPT RESOLUTION JOBOFFSET MANUALFEED TIMEOUT PCL-Specific Variables FONTNUMBER PTSIZE FONTSOURCE SYMSET PITCH PostScript-Specific Variables JAMRECOVERY PRTPSERRS ESC/P-Specific Variables ANKCONDENSE FONT CARRIAGERETURN TOPMARGIN CHARACTERSET Environment Commands 6-43...

  • Page 108

    Example: Using the RESET Command The following example uses a RESET command after the print job to return the features to their previous state: <ESC>%-12345X@PJL <CR><LF0> @PJL COMMENT Resets variables to <CR><LF> @PJL COMMENT control panel settings <CR><LF> @PJL SET RESOLUTION = 600 <CR><LF> @PJL SET RET = MEDIUM <CR><LF>...

  • Page 109: Set Command

    SET Command The SET command enables you to change the value of PJL Current Environment variables for the duration of a PJL job, or until a PJL reset condition defaults the value. Use this command to create a job-specific environment. Note When the SET command changes the PAGEPROTECT or RESOLUTION status, printer memory is reconfigured (except for...

  • Page 110

    • variable = value — this parameter sets one of the environment variables to the specified value. For example, the @PJL SET RESOLUTION = 600 command sets the current resolution to 600 dots per inch. See the table below for all valid variables and values.

  • Page 111

    Comments: The SET command enables you to specify either general variables which are used by all personalities, or printer language-specific variables. Printer language-specific variables must be specified using the LPARM : personality option. Features that are not printer language-specific cannot be specified with the LPARM option. All port-specific variables must be set using the IPARM : port option.

  • Page 112

    Example: Using the SET Command This example uses the SET command to create a desired state before sending a PostScript job. The SET command is used only to set those features that affect the printed output and that cannot be set using the desired personality.

  • Page 113: Status Readback Commands

    Status Readback Commands Introduction PJL allows applications to request configuration and status information from the printer. The printer also can be programmed to send unsolicited status information to the application when printer events occur. For example, the printer can send status information indicating the printer door is open, toner is low, online/offline status, the text displayed on the control panel, and other pertinent information.

  • Page 114

    Note For information about products newer than those included in this book, see the Printer Job Language Technical Reference Addendum, which includes product-specific information about newer products, as well as commands and variables added to PJL to support these newer products. 7-2 Status Readback Commands...

  • Page 115: Printer Status Requirements, Synchronizing Status Readback Responses

    Printer Status Requirements To receive status information from the printer, the application must have program code that handles the status information sent from the printer. Synchronizing Status Readback Responses Status responses are directed to the printer's I/O port from which the request is received.

  • Page 116: Format Of Status Readback Responses

    Format of Status Readback Responses When PJL sends printer status information to the host, the response is in a readable ASCII format that always begins with the @PJL prefix and ends with a <FF> character. For example, the readback response for the INQUIRE command is: @PJL INQUIRE [LPARM:personality | IPARM:port] ~variable<CR><LF>...

  • Page 117: Inquire Command

    INQUIRE Command The INQUIRE command is used to obtain the current value of a specified PJL environment variable, including read-only variables. Use the INQUIRE command to find out the setting for a particular PJL feature, such as ORIENTATION. Syntax: @PJL INQUIRE [LPARM : personality | ~IPARM : port] variable [<CR>]<LF>...

  • Page 118

    Note The permissible variables and range of values for each variable may not be the same in all HP LaserJet printer models. See Appendix A for a list of valid variables, or send the @PJL INFO VARIABLES command to request this information directly from the printer. •...

  • Page 119

    If a printer language-specific variable is not available because that printer language is not installed or is invalid, or if a port-specific variable is not available because that port is not supported, the command will return an appropriate error code if USTATUS DEVICE=VERBOSE is enabled.

  • Page 120

    @PJL ECHO 02:18:23.9 05-30-92<CR><LF> <FF> @PJL INQUIRE RET<CR><LF> MEDIUM<CR><LF> <FF> @PJL INQUIRE PAGEPROTECT<CR><LF> OFF<CR><LF> <FF> @PJL INQUIRE RESOLUTION<CR><LF> 600<CR><LF> <FF> @PJL INQUIRE PERSONALITY<CR><LF> AUTO<CR><LF> <FF> @PJL INQUIRE TIMEOUT<CR><LF> 15<CR><LF> <FF> Example: Using INQUIRE for Printer Language-Specific Variables This example requests the PCL settings for pitch, point size, and symbol set.

  • Page 121

    @PJL ECHO 12:22:23.9 11-05-92<CR><LF> <FF> @PJL INQUIRE LPARM:PCL PITCH<CR><LF> 10.00<CR><LF> <FF> @PJL INQUIRE LPARM:PCL PTSIZE<CR><LF> 12.00<CR><LF> <FF> @PJL INQUIRE LPARM:PCL SYMSET<CR><LF> ROMAN8<CR><LF> <FF> Related Commands: DINQUIRE, ECHO, INFO, SET, DEFAULT, USTATUS Status Readback Commands 7-9...

  • Page 122: Dinquire Command

    DINQUIRE Command The DINQUIRE command is used to obtain the default value of a specified PJL environment variable. Use the DINQUIRE command to find the User Default Environment setting for any environment variable, including read-only variables. Syntax: @PJL DINQUIRE [LPARM : personality | ~IPARM : port] variable [<CR>]<LF>...

  • Page 123

    Note The supported variables and range of values for each variable may not be the same in all PJL printer models. See Appendix A for a list of valid variables for each printer, or send the @PJL INFO VARIABLES command to request this information directly from the printer. •...

  • Page 124

    Comments: If your application has status readback capability, you can request the default setting of any valid environment variable. The returned value indicates the User Default Environment value for the feature. Since the DINQUIRE command returns only the value for one feature, you must send multiple DINQUIRE commands for data about more than one feature.

  • Page 125

    @PJL ECHO 08:10:33.7 04-17-93<CR><LF> <FF> @PJL DINQUIRE RESOLUTION<CR><LF> 600<CR><LF> <FF> @PJL DINQUIRE PERSONALITY<CR><LF> AUTO<CR><LF> <FF> Example: Using DINQUIRE for Printer Language-Specific Variables This example requests the default PCL pitch and symbol set using the DINQUIRE command. The printer returns values of 10.00 and ROMAN8.

  • Page 126: Echo Command

    ECHO Command The ECHO command prompts the printer to return a specified message to the host computer. Use the ECHO command to synchronize the printer with the host computer to ensure that the status received is the requested status information. Syntax: @PJL ECHO [<words>] [<CR>]<LF>...

  • Page 127

    Use the ECHO command to synchronize status so that you know the status you are receiving is the requested status. To do this, send an ECHO command to the printer, and then discard the incoming status messages until your message is echoed back. Eliminate all data received from the printer up to the echoed response string.

  • Page 128: Info Command

    INFO Command The INFO command requests a specified category of information (see table below). Use this command to find the printer model, configuration, memory available, page count, status information, PJL file system information, and a list of the printer variables, including environmental, printer language-dependent, and unsolicited status variables.

  • Page 129: Config Category

    Comments: When the printer receives the INFO command, it returns the requested information. Only one category can be used for each INFO command. Each category is described below, with the format of the printer's response. If the printer does not support the specified category, the returned information is as follows: @PJL INFO category <CR><LF>...

  • Page 130

    Variables appear in the response only if they are installed in the printer. For example, if a HP LaserJet 4 printer does not have the lower paper cassette installed, the INTRAY3 option is not returned in the response. The general format of the returned information is: @PJL INFO CONFIG<CR><LF>...

  • Page 131

    Parameter Format Description feature alphanumeric value (any Name of a printer feature, such as combination of letters [ASCII DUPLEX or FONT CARTRIDGE 65-90 or 97-122] and/or SLOTS. digits [ASCII 48-57], beginning with a letter) value numeric value Indicates a feature value, such as MEMORY=500000, or how many and what type of options follow, such as [2 ENUMERATED].

  • Page 132

    <ESC>%-12345X@PJL <CR><LF> @PJL COMMENT Using @PJL INFO CONFIG <CR><LF> @PJL ECHO 09:51:48.3 12-24-92 <CR><LF> @PJL INFO CONFIG <CR><LF> <ESC>%-12345X A sample HP LaserJet 4 printer response for this example is shown on the following page. Other printers may respond differently. @PJL ECHO 09:51:48.3 12-24-92<CR><LF>...

  • Page 133

    FILESYS Category The INFO FILESYS command returns the following information for each volume intialized on the PJL file system: • Total capacity • Volume label • Free space • Volume read/write status • Location Example: Using the INFO FILESYS Command <ESC>%-12345X@PJL <CR><LF>...

  • Page 134: Memory Category

    MEMORY Category The INFO MEMORY command returns the total number of bytes of free memory space and the largest free memory block. Note To determine the amount of memory available for a particular personality, use the personality command instead of the INFO MEMORY command.

  • Page 135

    PAGECOUNT Category The INFO PAGECOUNT returns the number of pages printed by the current print engine. This returned number is an indication of printer usage. Example: Using the INFO PAGECOUNT Command <ESC>%-12345X@PJL <CR><LF> @PJL COMMENT Using PJL INFO PAGECOUNT <CR><LF> @PJL ECHO 06:53:29.3 1-25-93 <CR><LF>...

  • Page 136: Status Category

    STATUS Category The INFO STATUS command returns online status (TRUE=online, FALSE=offline), the message currently displayed on the control panel, and a status code. In the following example, the status code is 10001, which means the printer is ready. (See Appendix D for a list of all printer status codes.) Only the “string”...

  • Page 137: Variables Category

    VARIABLES Category The INFO VARIABLES command returns a list of the environment and printer language-dependent variables. Use this command to find a list of the variables, the current setting for each, and the possible values. The set of printer language-specific variables returned by the printer depends on the current environment and the printer languages installed.

  • Page 138

    <ESC>%-12345X@PJL <CR><LF> @PJL COMMENT Using the @PJL INFO <CR><LF> @PJL COMMENT VARIABLES Command <CR><LF> @PJL ECHO 07:22:03.8 12-03-92 <CR><LF> @PJL INFO VARIABLES <CR><LF> <ESC>%-12345X A sample HP LaserJet 4 printer response for this example is shown below. Other PJL printers may provide a somewhat different response: @PJL ECHO 07:22:03.8 12-03-92<CR><LF>...

  • Page 139

    RET=MEDIUM [4 ENUMERATED] LIGHT MEDIUM DARK PAGEPROTECT=OFF [4 ENUMERATED] LETTER LEGAL RESOLUTION=600 [2 ENUMERATED] PERSONALITY=AUTO [3 ENUMERATED] AUTO POSTSCRIPT TIMEOUT=15 [2 RANGE] MPTRAY=CASSETTE [3 ENUMERATED] MANUAL CASSETTE FIRST INTRAY1=UNLOCKED [2 ENUMERATED] UNLOCKED LOCKED INTRAY2=UNLOCKED [2 ENUMERATED] UNLOCKED LOCKED INTRAY3=UNLOCKED [2 ENUMERATED] UNLOCKED LOCKED CLEARABLEWARNINGS=ON [2 ENUMERATED READONLY]...

  • Page 140

    DENSITY=3 [2 RANGE READONLY] LOWTONER=ON [2 ENUMERATED READONLY] INTRAY1SIZE=LETTER [9 ENUMERATED READONLY] LETTER LEGAL EXECUTIVE COM10 MONARCH INTRAY2SIZE=LETTER [4 ENUMERATED READONLY] LETTER LEGAL EXECUTIVE INTRAY3SIZE=LETTER [4 ENUMERATED READONLY] LETTER LEGAL EXECUTIVE INTRAY4SIZE=COM10 [5 ENUMERATED READONLY] COM10 MONARCH LPARM:PCL FONTSOURCE=I [1 ENUMERATED] LPARM:PCL FONTNUMBER=0 [2 RANGE] LPARM:PCL PITCH=10.00 [2 RANGE] 0.44...

  • Page 141: Ustatus Category

    LPARM:PCL PTSIZE=12.00 [2 RANGE] 4.00 999.75 LPARM:PCL SYMSET=ROMAN8 [31 ENUMERATED] ROMAN8 ISOL1 ISOL2 ..WIN30 LPARM:POSTSCRIPT PRTPSERRS=OFF [2 ENUMERATED] <FF> USTATUS Category The INFO USTATUS command lists each type of unsolicited status supported by the printer, such as DEVICE, JOB, PAGE, and TIMED (see the “USTATUS Command”...

  • Page 142

    A sample HP LaserJet 4 printer response for this example is shown below. Responses for other PJL printers may vary. @PJL ECHO 08:10:09.1 08-22-92<CR><LF> <FF> @PJL INFO USTATUS<CR><LF> DEVICE=OFF [3 ENUMERATED]<CR><LF> OFF<CR><LF> ON<CR><LF> VERBOSE<CR><LF> JOB=OFF [2 ENUMERATED]<CR><LF> OFF<CR><LF> ON<CR><LF> PAGE=OFF [2 ENUMERATED]<CR><LF> OFF<CR><LF>...

  • Page 143: Ustatus Command

    USTATUS Command The USTATUS command is used to enable or disable unsolicited printer status. Unlike the status information solicited by sending the INQUIRE, DINQUIRE, or INFO commands, unsolicited status is sent automatically when the status changes. Use the USTATUS command when you want to know: •...

  • Page 144

    Parameters: Variable Value Description DEVICE Enables unsolicited device status for all status changes (see the “DEVICE Variable” description below) VERBOSE Enables unsolicited device status for all status changes plus notification of all PJL parser warnings and errors. The VERBOSE value should only be used during application development.

  • Page 145: Device Variable

    Comments: Unsolicited status allows you to automatically receive device, job, page, or timed status without requesting it. Each type of unsolicited status provides different information and is described on the following pages. Some printer models may have more (or fewer) types of unsolicited status than DEVICE, JOB, PAGE, and TIMED.

  • Page 146

    Note For those printers supporting Japanese printing, when the language is set to Japanese, strings which correspond to a control panel message are displayed on the control panel using the JIS X0201-76 character set. Status Category Description Informational messages which do not indicate errors, such as (10-000 to 10-999) “Device was put online and is ready”...

  • Page 147

    Status Category Description Messages indicating that operator intervention may be required. (35-000 to 35-999) The printer stays online and continues printing, with the potential for reduced capability. Data may be lost. Messages indicating that operator intervention is required. (40-000 to 40-999) Printing halts until the condition is resolved.

  • Page 148

    JOB Variable The USTATUS JOB = ON command is used to notify the application every time a JOB command is encountered, when the final page of a job is in the output tray and an EOJ command has been received, and when a job has been canceled (only for those printers that support job cancellation such as the HP LaserJet 4000 series and 5000 series printers).

  • Page 149

    Note Some HP LaserJet printers support job cancellation. For information about unsolicited job status during job cancellation, see the “Job Cancellation” section in Chapter 5. Example: Using Unsolicited Job Status This example turns on unsolicited job status so that the spooler can be notified when the job starts and completely finishes.

  • Page 150: Page Variable

    The printer sends the unsolicited status associated with the JOB command when the JOB command is parsed. The printer sends the unsolicited status associated with the EOJ command when all of the pages received before the EOJ command have been printed. To maximize performance, HP printers start processing the next job before the last page of the current job has been printed.

  • Page 151

    A sample HP LaserJet 4 printer response for unsolicited page status is shown here. Other PJL printer responses may vary. @PJL USTATUS PAGE<CR><LF> 1<CR><LF> <FF> @PJL USTATUS PAGE<CR><LF> 2<CR><LF> <FF> @PJL USTATUS PAGE<CR><LF> 3<CR><LF> <FF> @PJL USTATUS PAGE<CR><LF> 4<CR><LF> <FF> Status Readback Commands 7-39...

  • Page 152: Timed Variable

    TIMED Variable The TIMED variable allows “automatic polling” of the printer without host intervention and without exiting the current printer language (back to PJL). Values from 5 to 300 indicate the time interval between status messages in seconds. This feature is turned off by setting the value to 0.

  • Page 153

    A sample HP LaserJet 4 printer response is shown below. Other PJL printers may respond differently. @PJL USTATUS TIMED<CR><LF> CODE=10001<CR><LF> DISPLAY="00 READY"<CR><LF> ONLINE=TRUE<CR><LF> <FF> Related Commands: INFO, ECHO, INQUIRE, DINQUIRE, SET, USTATUSOFF Status Readback Commands 7-41...

  • Page 154: Ustatusoff Command

    USTATUSOFF Command The USTATUSOFF command turns off all unsolicited status. This command eliminates the need to send several commands to turn off different types of USTATUS. Syntax: @PJL USTATUSOFF [<CR>]<LF> Parameters: There are no parameters for this command. Example: Using the USTATUSOFF Command This example uses the USTATUSOFF command to disable all unsolicited status before specifying the desired unsolicited status, which in this case is DEVICE status.

  • Page 155: Job Recovery, Sending The Initial Job

    Job Recovery PJL provides job recovery capability using the following combination of commands: • The JOB and EOJ commands are used to reset the page count and inform the printer of the boundaries for the job—its beginning and end. • The USTATUS PAGE command is used to determine how many pages are completely printed.

  • Page 156: After Job Failure

    After Job Failure Once the spooler senses that the job failed (in this case, due to a power failure), the job can be recovered by resending it using the JOB command with the START option. Set the page number in the START option to the number of the last page printed plus 1.

  • Page 157

    Additional page status messages are sent after each succeeding page lands in the output tray. After the remaining 75 pages of the job are completely printed the host receives unsolicited page and job status as follows: @PJL USTATUS PAGE<CR><LF> 100<CR><LF> <FF>...

  • Page 158

    7-46 Status Readback Commands...

  • Page 159: Device Attendance Commands

    Device Attendance Commands Introduction PJL enables you to change messages displayed on the printer control panel. This capability is useful for alerting operators to perform specific actions, such as loading paper or pressing keys. This chapter describes the following three device attendance commands: •...

  • Page 160: Rdymsg Command

    RDYMSG Command The RDYMSG command replaces the control panel's “ready” message with the specified message. Use the RDYMSG command to modify the displayed message while keeping the printer online. Syntax: @PJL RDYMSG DISPLAY = "message" [<CR>]<LF> Parameters: Parameter Functional Range Default DISPLAY = "message"...

  • Page 161

    Note This command replaces the lowest priority 00 READY message. If any higher priority message is displayed (for example, toner low), the new ready message does not appear until these outstanding conditions are cleared. For HP LaserJet 4PJ, 4V, 4MV, 5Si, 5SiMx, and 5Si Mopier printers, if the LANG variable is set to Japanese, the message is displayed using the JIS X0201-76 character set.

  • Page 162

    <ESC>%-12345X@PJL <CR><LF> @PJL JOB NAME = "Terry's Job" <CR><LF> @PJL JOB DISPLAY = "Terry's Job" <CR><LF> @PJL RDYMSG DISPLAY = "TERRY'S JOB" <CR><LF> <ESC>%-12345X@PJL <CR><LF> @PJL ENTER LANGUAGE = PCL <CR><LF> <ESC>E . . . PCL Job . . .<ESC>E ~<ESC>%-12345X ~<ESC>%-12345X@PJL <CR><LF>...

  • Page 163: Opmsg Command

    OPMSG Command The OPMSG command prompts the printer to display the specified message and go offline. Use this command to display a message and halt printing until the operator presses the On Line, Continue, or Reset key. Syntax: @PJL OPMSG DISPLAY = "message" [<CR>]<LF> Parameters: Parameter Functional Range...

  • Page 164

    Note For HP LaserJet 4PJ, 4V, 4MV, 5Si, 5SiMx, 5Si Mopier printers, if the LANG variable is set to Japanese, the message is displayed in the JIS X0201-76 character set. For the LaserJet 4000, 5000, 8000, and 8100 series printers, if LANG is set to POLISH, CZECH, or HUNGARIAN, messages are displayed using the Latin 2 (ISO 8859/2) character set.

  • Page 165: Stmsg Command

    STMSG Command The STMSG command prompts the printer to display the specified message, go offline, and return a status message indicating which key the operator pressed to return the printer online. Use this command to display a customized message, to halt printing until the operator presses the On Line, Continue, or Reset key, and to take a different action depending on which key the user presses.

  • Page 166

    For the LaserJet 4000, 5000, 8000, and 8100 series printers, if LANG is set to POLISH, CZECH, or HUNGARIAN, messages are displayed using the Latin 2 (ISO 8859/2) character set. If LANG is RUSSIAN, messages are displayed using Cyrillic (ISO 8859/5). For LANG=TURKISH, the display is in Latin 5 (ISO 8859/9).

  • Page 167

    Example: Using the STMSG Command This example prompts the printer to display “LOAD FORM 1040” and goes offline. The printer returns the name of the key that is pressed to resume operation—in this case, the Continue key. <ESC>%-12345X@PJL <CR><LF> @PJL <CR><LF> @PJL STMSG DISPLAY = "LOAD FORM 1040"...

  • Page 168

    8-10 Device Attendance Commands...

  • Page 169

    PJL File System Commands Introduction Several HP LaserJet printers have mass storage capabilities for storing fonts, macros, electronic forms, and other information. Printers such as the HP LaserJet 4000 and 5000 series printers have an optional disk drive. The HP LaserJet 4000, 5000 series and some other printers support flash memory, which is non-volatile memory contained in modules that are inserted into the printer's SIMM/DIMM slots.

  • Page 170

    The PJL file system consists of eight commands: FSAPPEND FSINIT FSDELETE FSMKDIR FSDIRLIST FSQUERY FSDOWNLOAD FSUPLOAD These commands are described on the following pages. For feature support information, see Appendix A. 9-2 PJL File System Commands...

  • Page 171: Fsappend Command

    FSAPPEND Command The FSAPPEND command appends data to an existing file, or if the file doesn't exist, creates the file and loads it with the given data. Syntax: @PJL FSAPPEND FORMAT:BINARY SIZE=integer ~NAME = "pathname" [<CR>]<LF> <binary data><ESC>%-12345X Parameters: Parameter Functional Range Default SIZE=integer...

  • Page 172

    Examples of valid pathnames include: Volume 0 Root directory on volume 0 0:\MyDir \MyDir directory 0:\My/Dir\Gen/Dir \Gen/Dir directory in \My/Dir directory 0:\dir0\file1 file1 file in \dir0 directory 0:\DIR1\DIR2\File1 File1 file in \DIR2 directory in \DIR1 directory 0:\DIR1\Prefix/Suffix Prefix/Suffix file in \DIR1 directory •...

  • Page 173: Fsdirlist Command

    FSDIRLIST Command The FSDIRLIST command returns a list of files and directories which exist within the specified directory on the printer's file system. This command is similar in function to the DOS DIR command. The ENTRY and COUNT parameters are used to limit the amount of data returned to the host.

  • Page 174: Printer Responses

    example, to display the directory listing beginning with line 5, you would use ENTRY=5. The entry value must be greater than 0. Also, if the entry value is larger than the actual number of entries, the response will not include any entries. •...

  • Page 175: Fsdelete Command

    FSDELETE Command The FSDELETE command is used to delete files or empty directories from the printer's file system. Syntax: @PJL FSDELETE NAME = "pathname" [<CR>]<LF> Parameters: Parameter Functional Range Default NAME = "pathname" Roman-8 characters 01 thru 255 • NAME = "pathname" — For a complete description of the NAME parameter, see the NAME = "pathname"...

  • Page 176: Fsdownload Command

    FSDOWNLOAD Command The FSDOWNLOAD command downloads a file to the printer file system. If a file with the same name exists, the downloaded file overwrites it. Syntax: @PJL FSDOWNLOAD FORMAT:BINARY SIZE=int ~NAME = "pathname" [<CR>]<LF> <binary data><ESC>%-12345X Parameters: Parameter Functional Range Default SIZE=integer 0 to 2...

  • Page 177: Fsinit Command

    FSINIT Command The FSINIT command is used to initialize the printer's mass storage file system. This FSINIT command must be part of a secure job. Syntax: @PJL FSINIT VOLUME = "pathname" [<CR>]<LF> Parameters: Parameter Functional Range Default VOLUME = "pathname" 0:, 1:*, 2:* * Volumes 1: and 2: are only supported on the HP LaserJet 4000 and newer printers.

  • Page 178: Fsmkdir Command

    FSMKDIR Command The FSMKDIR command creates the specified directory on the printer file system. Syntax: @PJL FSMKDIR NAME = "pathname" [<CR>]<LF> Parameters: Parameter Functional Range Default NAME = "pathname" Roman-8 characters 01 thru 255 • NAME = "pathname" — For the FSMKDIR command, "pathname"...

  • Page 179: Fsquery Command

    FSQUERY Command The FSQUERY command is used to determine if a given entry exists within the file system, the type of entry (file or directory), and if it is a file, the file size in bytes. Syntax: @PJL FSQUERY NAME = "pathname" [<CR>]<LF> Response Syntax: If pathname is a file: @PJL FSQUERY NAME="pathname"...

  • Page 180

    Printer Responses The printer response indicates the number of bytes in the queried files. If the pathname is invalid, a FILEERROR number is returned. The returned number is equivalent to the PJL File System errors (32xxx) listed in Appendix D, only without the 32 and the leading zeros.

  • Page 181: Fsupload Command

    FSUPLOAD Command The FSUPLOAD command uploads a file, or a part of a file, from the printer file system to the host. Syntax: @PJL FSUPLOAD NAME = "pathname" ~OFFSET=<number> SIZE=<number>[<CR>]<LF> Response Syntax: If the pathname is valid: @PJL FSUPLOAD FORMAT:BINARY ~NAME = "pathname"...

  • Page 182

    • SIZE = integer — The size variable indicates the number of bytes to be uploaded. If the amount of data in the file after OFFSET is less than the specified size value, the remainder of the file is returned and the SIZE value in the response indicates the actual amount of uploaded data.

  • Page 183: File System Example

    File System Example The following is a sequence of commands that can be sent to any printer with flash memory or a hard disk. The example downloads and calls a macro from the flash memory or hard disk. See the sections following this example for a description of each command.

  • Page 184

    This PJL command creates the macros sub-directory under the pcl directory. Fourth Command @PJL FSDOWNLOAD FORMAT:BINARY ~NAME ="0:\pcl\macros\a_macro" SIZE=29<CR><LF> <ESC>*p900x1500YThis is the macro ~<ESC>%-12345X This PJL command does several things. First, it specifies the download format to be binary (FORMAT:BINARY). Second, it specifies the macro's pathname on the file system (NAME = “0:\pcl\ macros\a_macro”).

  • Page 185

    The Alphanumeric ID command needs to know the number of bytes being sent after the terminating W. In this example, we are sending 8 bytes. The first byte, which is the symbol, is the control-byte (The symbol is the character with a decimal value of 005). This control byte indicates that the Alphanumeric ID command will be used to associate the current macro ID to the string ID.

  • Page 186

    Example Summary The FSDOWNLOAD command downloads data to printers which support this command. This command allows data to be downloaded to either the printers internal disk (such as available in HP LaserJet 4000 series, 5Si, 5SiMx, and 5Si Mopier printers) or flash memory (such as available in HP LaserJet 5, 5M, and 4000 series printers).

  • Page 187: Hp Laserjet 8100 Printer

    Job Management Introduction Some printers, such as the HP LaserJet 8100 and 8500 series, provide the capability for storing print jobs on the printer's hard disk. These jobs can be accessed and printed using PJL commands as described in this chapter. Note For information about products newer than those included in this book, see the Printer Job Language Technical Reference Addendum,...

  • Page 188

    HOLDKEY USERNAME HOLDTYPE Each variable is described in the following paragraphs. The variable descriptions are followed by a job management example. HOLD Variable Specifies the retention classification of the job, indicating whether the job is printed immediately or stored. Values Value Description (OFF) The job is printed but not retained on the disk after...

  • Page 189: Holdtype Variable

    HOLDTYPE Variable The HOLDTYPE variable specifies the privacy level of the job. Valid values are PUBLIC and PRIVATE. Value Value Description PUBLIC The job does not require a HOLDKEY value in order to be released for printing. This is the default value. PRIVATE The job requires a HOLDKEY value in order to be released for printing.

  • Page 190

    USERNAME Variable This variable is the user name that is obtained from user input or by the driver through some internal method. If the job stream does not contain a USERNAME the default value will be "NO USER NAME". The driver is responsible for determining the size of the printer's control panel and sending a string of appropriate length.

  • Page 191: Hp Laserjet 8500 Printer

    HP LaserJet 8500 Printer The HP LaserJet 8500 printer implements job management in a different way than the HP LaserJet 8100 printer. For this printer, only the HOLD = JOB option is supported for the HOLD command. The HOLDTYPE and HOLDKEY variables are not supported. (See the descriptions of the HOLD, JOBNAME and USERNAME variables for more information about their limitations.) The printer's Proof and Print feature allows the user a fast and easy...

  • Page 192

    HOLD Variable Specifies the retention classification of the job, indicating whether the job is printed immediately or stored. Values Value Description Notifies printer to hold the job until all copies have been printed. JOBNAME Variable This variable is the job name that may be generated by the driver or obtained from user input.

  • Page 193

    Example: Job Management HP LaserJet 8500 The following PJL example demonstrates job management for the HP LaserJet 8500 printer. It creates a secure Proof and Print job that prints one copy and then is held until the user selects it for printing via the control panel.

  • Page 194

    10-8 Job Management...

  • Page 195

    Programming Tips for Using PJL Introduction When using most printer languages, there is usually more than one way to perform a certain printing function. PJL is no exception. Properly formed PJL jobs provide the developer with the desired features while eliminating glitches. This chapter provides tips for creating efficient PJL jobs that eliminate potential problems.

  • Page 196: Pjl Services

    PJL Services This section segments applications into three types based on the services provided. Applications using PJL can be categorized as one of the following: • Print Data Generators—Applications that generate print jobs, such as Lotus 1-2-3, Microsoft Word, and WordPerfect. •...

  • Page 197: Print Data Generators

    Print Data Generators Print Data Generators are applications used to create and print information. Examples include WordPerfect, Harvard Graphics, and Lotus 1-2-3. Software applications of this type should work properly when the printer is under the direct control of the application, and also when there is a spooler between the application and the printer.

  • Page 198

    Print Data Generator Examples The following two examples demonstrate how applications categorized as “Print Data Generators” should use PJL. Both examples work well if sent directly to the printer or through a spooler. Jobs That Select a Printer Language This example selects a printer language using the ENTER command. It is the most common job format for Print Data Generators.

  • Page 199: Printer Utilities

    Printer Utilities Printer utilities are those applications that perform one or more of the following functions: • Control printer resources—These programs set printer features such as the print resolution and number of copies using the SET, RESET, DEFAULT, and INITIALIZE commands. •...

  • Page 200

    Commands Used by Printer Utilities Use before and after every PJL job. COMMENT Use to add explanations within PJL code. To modify a printer feature until the next PJL reset condition. RESET To set the printer to its user default feature settings. DEFAULT To modify the user default value of a printer feature.

  • Page 201

    Printer Utility Examples The following three examples demonstrate the kind of PJL jobs used by Printer Utilities: • Jobs that request information and perform printer setup • Jobs that request information, set features, and print existing files • Jobs that monitor printing status Jobs that Request Information and Perform Print Setup The following example demonstrates a job setup utility that first asks...

  • Page 202

    (Changing the Default Values) <ESC>%-12345X@PJL <CR><LF> @PJL COMMENT Set desired values <CR><LF> @PJL DEFAULT RET = DARK <CR><LF> @PJL DEFAULT RESOLUTION = 600 <CR><LF> @PJL COMMENT Reset PJL to ensure default ~values take effect <CR><LF> @PJL RESET <CR><LF> <ESC>%-12345X Jobs That Request Information, Set Features and Print Existing Files The following example requests information using the INQUIRE command, sets printer features using the SET command, and then...

  • Page 203

    Figure 11-1 Sample Printing System Components Programming Tips for Using PJL 11-9...

  • Page 204

    Jobs That Monitor Printing Status The following example enables unsolicited printer status using the USTATUS DEVICE command. After unsolicited device status is enabled, the printer automatically sends a status response whenever the printer's status changes. <ESC>%-12345X@PJL <CR><LF> @PJL ECHO Acme #17 8-28-92 5:39:02.9 <CR><LF> @PJL COMMENT Turn on unsolicited device ~status <CR><LF>...

  • Page 205: Spoolers

    Spoolers Spoolers are applications that control and/or monitor print jobs generated by other applications. Spooling applications should use only PJL job-related commands when controlling the flow of print jobs to the printer. Encapsulate each print job with the JOB command at the beginning and the EOJ command at the end (the UEL command is always the first and last command in all PJL jobs).

  • Page 206

    • Print selected pages of jobs—Use the JOB command with the START and END options to specify which pages you want to print. Commands Used by Spoolers Use before and after every PJL job. COMMENT Use to add explanations within PJL code. DEFAULT To modify the default value of a printer feature.

  • Page 207

    Spoolers equipped for bi-directional communications can monitor printer status using the following commands: ECHO To synchronize status readback information. The application should send an ECHO command before any other status readback commands; all status responses before the returned ECHO response should be discarded to ensure proper synchronization.

  • Page 208

    Jobs That Monitor Job Progress and Confirm Job Completion This example enables the spooler to receive notification as each page is finished printing, and when the entire job has finished. The USTATUS JOB = ON command enables unsolicited job status and the USTATUS PAGE = ON command enables page status.

  • Page 209

    When USTATUS PAGE = ON, the first unsolicited page status message is sent after page 1 lands in the output tray: @PJL USTATUS PAGE <FF> Additional page status messages are sent after each succeeding page lands in the output tray. After the job is completely printed, the host receives unsolicited page and job status as follows (assuming a 38-page job): @PJL USTATUS PAGE...

  • Page 210

    Jobs That Notify the User to Load Specific Forms or Paper This example displays a message to “LOAD FORM 1040” and takes the printer off-line. When the form is loaded and the On Line or Continue key is pressed, the form is printed. <ESC>%-12345X@PJL <CR><LF>...

  • Page 211: Printer Language

    Spooler Job That Prints a Banner Page Followed by an Application-Generated Job (Application specifies printer language) The following example demonstrates a spooling application that prints a banner page, and then prints a PostScript job. The application that produced the print file specifies the printer language. <ESC>%-12345X@PJL <CR><LF>...

  • Page 212: Requesting Printer Status, Using Status Readback In A Multi-user System

    Requesting Printer Status When querying the printer for status, the response is not immediate. Wait a fixed amount of time for a response and then time out. If the printer is still working on a previous print job, it may take a while before a response is received.

  • Page 213: Example Printing System

    Example Printing System Figure 11-1 contains an example printing system. The print system contains one I/O-switching LaserJet printer which is connected to seven computers. Host computer #1 is connected via the serial I/O interface. Host computers #2 and #3 are connected through an external printer sharing box that also buffers print job data.

  • Page 214

    printer's response. The simplest solution for printer sharing boxes is to forward all data received from the printer to all attached host computers, and let the applications on each host computer ignore any impertinent data, as described in the “Handling Unexpected Printer Responses”...

  • Page 215

    Printer Status Readback Usage Applications use printer status readback for two primary purposes (although there are other uses): printer driver configuration and monitoring device status. Since printer configuration does not change often (i.e., the amount of installed printer memory does not change frequently) using printer status readback to assist in initial configuration (or when the printer's configuration changes) is straightforward.

  • Page 216

    However, under some conditions the application will send, or attempt to send, a PJL ECHO command and not receive a timely response because of one of two reasons: the printer may not be accepting data (due to the printer processing a print job from a different I/O interface or the printer being off-line), or the printing system does not support printer status readback to the application.

  • Page 217

    When processing a job, I/O switching paces off all I/O interfaces except for the one which is providing the current print job. However, it is possible for an application to get a few bytes of data into the inactive I/O interface before the printer paces off that I/O interface. If the application times out while trying to send the initial UEL command after one or more bytes of the command are sent, but before the entire UEL command is sent, then the application can proceed using...

  • Page 218

    To keep the I/O interface from timing out, the application can either send data to the printer more frequently than the timeout setting or can cause the printer to use a different setting by sending a PJL JOB command. When I/O-switching printers receive the PJL JOB command, the printer uses an I/O timeout value equal to ten times the TIMEOUT environment variable setting or five minutes, whichever is greater.

  • Page 219

    When the printer discards responses, the printer inserts the PJL unsolicited “printer to host data buffer overflow” message: CODE=10010 DISPLAY="00 READY" Note Refer to the “HP LaserJet 4 and 5 Family Comments” section in Appendix A under “Printer Status Readback” for the exact “printer to host buffer overflow”...

  • Page 220

    device to properly route since the unsolicited status response may be received by the printer sharing box hours after sending the data from the host computer to the printer that enabled unsolicited status. Manufacturers of printer sharing devices can choose from the following options to solve this printer-to-host data routing problem.

  • Page 221

    Application Design Ideas The previous pages have described various printing system topologies and how components in those topologies can operate so each printer system component can receive printer status readback responses. This section discusses application design ideas that handle the complexities involved with using printer status readback information.

  • Page 222

    Given the above structure for sending queries and processing responses, applications should adhere to the following guidelines: If the application sends data to the printer in blocks, followed by long pauses between blocks (i.e., greater than five seconds), then it should cause the printer to use a larger I/O interface idle time value by using the PJL JOB command as described in the “Printer Status Readback and Printer I/O Switching”...

  • Page 223

    The final portion of the appendix describes some important product-specific information regarding the different Hewlett-Packard printers. Note For information about products newer than those included in this book, see the Printer Job Language Technical Reference Addendum,...

  • Page 224: Pjl Feature Support

    PJL Feature Support The following three tables list the PJL commands and show command support by each printer. “Y” indicates a command is supported; “ns” indicates it is not supported. Table A-1. PJL Feature Support for HP LaserJet, DeskJet, and PaintJet Printers 4/4M 4 Plus 5SiMx...

  • Page 225

    Table A-1. PJL Feature Support for HP LaserJet, DeskJet, and PaintJet Printers LaserJet Color LJ DeskJet DeskJet PaintJet Command Name 4000 Series Color LJ 1200C 1600C XL300 5000 Series 5/5M COMMENT DEFAULT DINQUIRE ECHO ENTER FSAPPEND, FSDIRLIST, FSQUERY, FSUPLOAD FSDELETE FSDOWNLOAD FSINIT FSMKDIR...

  • Page 226

    Table A-1. PJL Feature Support for HP LaserJet, DeskJet, and PaintJet Printers LaserJet LaserJet LaserJet LaserJet LaserJet Command Name 1100 Series 2100 Series 4500 Series 8000/8100 8500 Series COMMENT DEFAULT DINQUIRE ECHO ENTER FSAPPEND, FSDIRLIST, FSQUERY, FSUPLOAD FSDELETE FSDOWNLOAD FSINIT FSMKDIR INFO INITIALIZE...

  • Page 227

    Table A-1. PJL Feature Support for HP DesignJet Printers/Plotters 200, 230, 250C, 330, 650C 700, 750C Plus, Command Name 350C, 430, 450C, 750C, 755CM, 455CA, 488CA 2000CP, 2500CP, 1050C, 1055CM, 3000CP, 3500CP COMMENT DEFAULT DINQUIRE ECHO ENTER FSDELETE FSDOWNLOAD FSINIT FSMKDIR INFO INITIALIZE...

  • Page 228: Pjl Environment Variable Support

    PJL Environment Variable Support The following tables list all of the current environment variables for PJL, PCL 5 and PostScript, and show the features supported by each printer. Features for the HP LaserJet, DesignJet, and DeskJet 1600C printers are shown in Tables A-2 through A-5. The table below describes the printers covered in each table.

  • Page 229

    Table A-2. PJL Environment Variables for HP LaserJet Printers Environment Variable 4 Plus 4000 Variable Values 4M Plus 4SiMx Series (OFF) AUTOCONT AUTOSELECT (ON) BINDING (LONGEDGE) SHORTEDGE BITSPERPIXEL 1 or (2) CLEARABLE- WARNINGS (ON) CONTEXT- (ON) SWITCH COPIES (1) to 999 COURIER (REGULAR) DARK...

  • Page 230

    Table A-2. PJL Environment Variables for HP LaserJet Printers Environment Variable 4 Plus 4000 Variable Values 4M Plus 4SiMx Series HOLD (OFF) PROOF STORE HOLDKEY (""), 0000 to 9999 HOLDTYPE (PUBLIC) PRIVATE IMAGEADAPT (AUTO) INTRAY1 (UNLOCKED) LOCKED INTRAY2 (UNLOCKED) LOCKED INTRAY3 (UNLOCKED) LOCKED...

  • Page 231

    Table A-2. PJL Environment Variables for HP LaserJet Printers Environment Variable 4 Plus 4000 Variable Values 4M Plus 4SiMx Series INTRAY2SIZE (LETTER) LEGAL EXECUTIVE LEDGER JISB4 JISB5 CUSTOM COM10 INTRAY3SIZE (LETTER) LEGAL EXECUTIVE COM10, DL MONARCH LEDGER A3, JISB4 JISB5 CUSTOM INTRAY4SIZE (COM10)

  • Page 232

    Table A-2. PJL Environment Variables for HP LaserJet Printers Environment Variable 4 Plus 4000 Variable Values 4M Plus 4SiMx Series INTRAY6SIZE Tray-dependent INTRAY7SIZE Tray-dependent INTRAY8SIZE Tray-dependent IOBUFFER AUTO 10 to max. available IOSIZE memory JOBATTR "attribute string" JOBID (OFF) JOBIDVALUE 0 to 65535 JOBNAME "jobname string"...

  • Page 233

    Table A-2. PJL Environment Variables for HP LaserJet Printers Environment Variable 4 Plus 4000 Variable Values 4M Plus 4SiMx Series LOWTONER (ON) (CONTINUE) STOP MANUALFEED (OFF) MEDIASOURCE TRAY1 TRAY2 TRAY3 MEDIATYPE TRANSPARENCY GLOSSY SPECIAL PAPER MPTRAY MANUAL CASSETTE (RO) FIRST (RO) (RO) ORIENTATION...

  • Page 234

    Table A-2. PJL Environment Variables for HP LaserJet Printers Environment Variable 4 Plus 4000 Variable Values 4M Plus 4SiMx Series PAPER LETTER LEGAL (Letter, Legal, Ledger, A3, A4, Executive, JISB4, and JISB5 are paper sizes; Com10, LEDGER C5, DL, Monarch, and B5 are envelope sizes;...

  • Page 235

    Table A-2. PJL Environment Variables for HP LaserJet Printers Environment Variable 4 Plus 4000 Variable Values 4M Plus 4SiMx Series POWERSAVE-TIME PRINTQUALITY DRAFT NORMAL HIGH (1) to 999 RENDERMODE COLOR GRAYSCALE REPRINT (AUTO) RESOLUTION (RO) 1200 RESOURCESAVE AUTO RESOURCE- 0 to maximum available memory SAVESIZE (in100 Kbyte...

  • Page 236

    Table A-2. PJL Environment Variables for HP LaserJet Printers Environment Variable 4 Plus 4000 Variable Values 4M Plus 4SiMx Series USERNAME "username string" WIDEA4 (NO) PCL-Specific Variables FONTNUMBER (0) to n (maxi-mum value depends on the currently set font source) FONTSOURCE M1,M2,M3 .

  • Page 237

    Table A-2. PJL Environment Variables for HP LaserJet Printers Environment Variable 4 Plus 4000 Variable Values 4M Plus 4SiMx Series SYMSET DESKTOP (continued on the ISO4 following pages) ISO6 ISO11 ISO15 ISO17 ISO21 ISO60 ISO69 ISOL1 ISOL2 ISOL5 ISOL6 LEGAL MATH8 MCTEXT MSPUBL...

  • Page 238

    Table A-2. PJL Environment Variables for HP LaserJet Printers Environment Variable 4 Plus 4000 Variable Values 4M Plus 4SiMx Series SYMSET VNINTL continued VNMATH VNUS WIN30 WINBALT WINL1 WINL2 WINL5 WIN31J Port-Specific Variables ESCP PERSONALITY ESC/P-Specific Variables CARRIAGE- (CR) RETURN CRLF CHARACTER-SET (KANA)

  • Page 239

    Table A-2. PJL Environment Variables for HP LaserJet Printers Environment Variable 4 Plus 4000 Variable Values 4M Plus 4SiMx Series PostScript-Specific Variables1 ADOBEMBT (AUTO) JAMRECOVERY (OFF) PRTPSERRS (OFF) Provided PostScript is installed. PostScript is an option in some printers. Product-Specific Feature Support A-17...

  • Page 240

    Table A-3. PJL Environment Variables for HP LaserJet and DeskJet Printers Environment Variable 4 LC 5L 1600C Variable Values 4LJ Pro 5SiMx, Mopier (OFF) AUTOCONT AUTOSELECT (ON) BINDING (LONGEDGE) SHORTEDGE BITSPERPIXEL 1 or (2) CLEARABLE- WARNINGS (ON) CONTEXT- (ON) SWITCH COPIES (1) to 999 COURIER...

  • Page 241

    Table A-3. PJL Environment Variables for HP LaserJet and DeskJet Printers Environment Variable 4 LC 5L 1600C Variable Values 4LJ Pro 5SiMx, Mopier HOLD (OFF) PROOF STORE HOLDKEY (""), 0000 to 9999 HOLDTYPE (PUBLIC) PRIVATE IMAGEADAPT (AUTO) INTRAY1 (UNLOCKED) LOCKED INTRAY2 (UNLOCKED) LOCKED...

  • Page 242

    Table A-3. PJL Environment Variables for HP LaserJet and DeskJet Printers Environment Variable 4 LC 5L 1600C Variable Values 4LJ Pro 5SiMx, Mopier INTRAY2SIZE (LETTER) LEGAL EXECUTIVE LEDGER JISB4 JISB5 CUSTOM COM10 INTRAY3SIZE (LETTER) LEGAL EXECUTIVE COM10, DL MONARCH LEDGER A3, JISB4 JISB5 CUSTOM...

  • Page 243

    Table A-3. PJL Environment Variables for HP LaserJet and DeskJet Printers Environment Variable 4 LC 5L 1600C Variable Values 4LJ Pro 5SiMx, Mopier INTRAY6SIZE Tray-dependent INTRAY7SIZE Tray-dependent INTRAY8SIZE Tray-dependent IOBUFFER AUTO 10–max. memory IOSIZE JOBATTR "attribute string" JOBID (OFF) JOBIDVALUE 0 to 65535 JOBNAME "jobname string"...

  • Page 244

    Table A-3. PJL Environment Variables for HP LaserJet and DeskJet Printers Environment Variable 4 LC 5L 1600C Variable Values 4LJ Pro 5SiMx, Mopier LOWTONER (ON) (CONTINUE) STOP MANUALFEED (OFF), ON MEDIASOURCE TRAY1 TRAY2 TRAY3 MEDIATYPE TRANSPARENCY GLOSSY SPECIAL PAPER MPTRAY MANUAL CASSETTE FIRST...

  • Page 245

    Table A-3. PJL Environment Variables for HP LaserJet and DeskJet Printers Environment Variable 4 LC 5L 1600C Variable Values 4LJ Pro 5SiMx, Mopier PAPER LETTER LEGAL (Letter, Legal, Ledger, A3, A4, Executive, JISB4, and JISB5 are LEDGER paper sizes; Com10, C5, DL, Monarch, and B5 are envelope sizes;...

  • Page 246

    Table A-3. PJL Environment Variables for HP LaserJet and DeskJet Printers Environment Variable 4 LC 5L 1600C Variable Values 4LJ Pro 5SiMx, Mopier POWERSAVE-TIME PRINTQUALITY DRAFT NORMAL HIGH (1) to 999 RENDERMODE COLOR GRAYSCALE REPRINT (AUTO) RESOLUTION 1200 RESOURCESAVE AUTO RESOURCE- 0–max.

  • Page 247

    Table A-3. PJL Environment Variables for HP LaserJet and DeskJet Printers Environment Variable 4 LC 5L 1600C Variable Values 4LJ Pro 5SiMx, Mopier TIMEOUT 5 to 300 (15) USERNAME "username string" WIDEA4 (NO) PCL-Specific Variables FONTNUMBER (0) to n (max. depends on the font source) FONTSOURCE...

  • Page 248

    Table A-3. PJL Environment Variables for HP LaserJet and DeskJet Printers Environment Variable 4 LC 5L 1600C Variable Values 4LJ Pro 5SiMx, Mopier SYMSET DESKTOP (continued on the ISO4 following pages) ISO6 ISO11 ISO15 ISO17 ISO21 ISO60 ISO69 ISOL1 ISOL2 ISOL5 ISOL6 LEGAL...

  • Page 249

    Table A-3. PJL Environment Variables for HP LaserJet and DeskJet Printers Environment Variable 4 LC 5L 1600C Variable Values 4LJ Pro 5SiMx, Mopier SYMSET VNINTL (continued) VNMATH VNUS WIN30 WINBALT WINL1 WINL2 WINL5 WIN31J GB2312 Port-Specific Variables ESCP PERSONALITY ESC/P-Specific Variables CARRIAGE- (CR) RETURN...

  • Page 250

    Table A-3. PJL Environment Variables for HP LaserJet and DeskJet Printers Environment Variable 4 LC 5L 1600C Variable Values 4LJ Pro 5SiMx, Mopier PostScript-Specific Variables1 ADOBEMBT (AUTO) JAMRECOVERY (OFF) PRTPSERRS (OFF) RESOURCESAVE- 0–max. available memory (100 Kb SIZE increments) Provided PostScript is installed. PostScript is an option in some printers. These variables can only be used with the DEFAULT, DINQUIRE, and INQUIRE commands.

  • Page 251

    Table A-4. PJL Environment Variables for HP LaserJet Printers Environment Variable 1100 2100 4500 5000 8000 8100 8500 Variable Values Series Series Series Series Series Series Series AUTOCONT AUTOSELECT (ON) BINDING (LONGEDGE) SHORTEDGE BITSPERPIXEL 1 or (2) [or (8) CLEARABLE- WARNINGS CONTEXT- (ON)

  • Page 252

    Table A-4. PJL Environment Variables for HP LaserJet Printers Environment Variable 1100 2100 4500 5000 8000 8100 8500 Variable Values Series Series Series Series Series Series Series (OFF) HOLD PROOF STORE (""), 0000 to 9999 HOLDKEY (PUBLIC) HOLDTYPE PRIVATE IMAGEADAPT (AUTO) INTRAY1 (UNLOCKED)

  • Page 253

    Table A-4. PJL Environment Variables for HP LaserJet Printers Environment Variable 1100 2100 4500 5000 8000 8100 8500 Variable Values Series Series Series Series Series Series Series INTRAY2SIZE (LETTER) LEGAL EXECUTIVE LEDGER JISB4 JISB5 CUSTOM COM10 UNKNOWNPAPER INTRAY3SIZE (LETTER) LEGAL EXECUTIVE COM10, DL MONARCH...

  • Page 254

    Table A-4. PJL Environment Variables for HP LaserJet Printers Environment Variable 1100 2100 4500 5000 8000 8100 8500 Variable Values Series Series Series Series Series Series Series INTRAY5SIZE LETTER LEGAL LEDGER JISB4 EXEC JISB5 CUSTOM INTRAY6SIZE Tray-dependent INTRAY7SIZE Tray-dependent INTRAY8SIZE Tray-dependent IOBUFFER AUTO...

  • Page 255

    Table A-4. PJL Environment Variables for HP LaserJet Printers Environment Variable 1100 2100 4500 5000 8000 8100 8500 Variable Values Series Series Series Series Series Series Series LANG DANISH GERMAN ENGLISH SPANISH FRENCH ITALIAN DUTCH NORWEGIAN POLISH PORTUGUESE FINNISH SWEDISH TURKISH JAPANESE CHINESE...

  • Page 256

    Table A-4. PJL Environment Variables for HP LaserJet Printers Environment Variable 1100 2100 4500 5000 8000 8100 8500 Variable Values Series Series Series Series Series Series Series MEDIATYPE TRANSPARENCY GLOSSY PAPER PREPRINTED LETTERHEAD PREPUNCHED LABELS BOND RECYCLED COLOR CARDSTOCK HEAVY TYPE28161 TYPE28162 ENVELOPE...

  • Page 257

    Table A-4. PJL Environment Variables for HP LaserJet Printers Environment Variable 1100 2100 4500 5000 8000 8100 8500 Variable Values Series Series Series Series Series Series Series PAPER LETTER LEGAL (Letter, Legal, Ledger, A3, A4, Executive, JISB4, and JISB5 are paper sizes;...

  • Page 258

    Table A-4. PJL Environment Variables for HP LaserJet Printers Environment Variable 1100 2100 4500 5000 8000 8100 8500 Variable Values Series Series Series Series Series Series Series POWERSAVETIME PRINTQUALITY DRAFT NORMAL HIGH (1) to 999 RENDERMODE COLOR GRAYSCALE REPRINT (AUTO) RESOLUTION 1200 RESOURCESAVE...

  • Page 259

    Table A-4. PJL Environment Variables for HP LaserJet Printers Environment Variable 1100 2100 4500 5000 8000 8100 8500 Variable Values Series Series Series Series Series Series Series USERNAME "username string" WIDEA4 (NO) PCL-Specific Variables FONTNUMBER (0) to n (maximum value depends on the currently set font source) FONTSOURCE...

  • Page 260

    Table A-4. PJL Environment Variables for HP LaserJet Printers Environment Variable 1100 2100 4500 5000 8000 8100 8500 Variable Values Series Series Series Series Series Series Series SYMSET DESKTOP (continued on the ISO4 following pages) ISO6 ISO11 ISO15 ISO17 ISO21 ISO60 ISO69 ISOL1...

  • Page 261

    Table A-4. PJL Environment Variables for HP LaserJet Printers Environment Variable 1100 2100 4500 5000 8000 8100 8500 Variable Values Series Series Series Series Series Series Series SYMSET WINL5 continued WIN31J Port-Specific Variables ESCP PERSONALITY ESC/P-Specific Variables CARRIAGE- (CR) RETURN CRLF CHARACTER-SET (KANA)

  • Page 262

    Table A-5. PJL Environment Variables for HP DesignJets Environment Variable 250C 330 350C 450C 455CA 488CA Values Variable COMPRESSRAST. (all values) IMAGELOCATION (all values) MARGINS NORMAL SMALLER EXTENDED MEDIASOURCE (all values) MIRROR ON, (OFF) ORIENTATION (PORTRAIT) LANDSCAPE PAGELENGTH- (all values) ACCURACY PALETTESOURCE (DEVICE)

  • Page 263

    Table A-5. PJL Environment Variables for HP DesignJets Environment Variable 750C 750C 755CM 1050C 1055CM Values Plus Variable COMPRESSRAST. (all values) IMAGELOCATION (all values) MARGINS NORMAL SMALLER EXTENDED MEDIASOURCE (all values) MIRROR ON, (OFF) ORIENTATION (PORTRAIT) LANDSCAPE PAGELENGTH- EXACT ACCURACY OPTIMIZED CONSTANT MAXIMUM...

  • Page 264

    Table A-5. PJL Environment Variables for HP DesignJets Environment Variable 2000CP 2500CP 3000CP 3500CP Variable Values COMPRESSRASTER- (ON) STORAGE IMAGELOCATION (DISK), RAM MARGINS NORMAL SMALLER EXTENDED MEDIASOURCE MANUALFEED ROLL1 MIRROR ON, (OFF) ORIENTATION (PORTRAIT) LANDSCAPE PAGELENGTH- EXACT ACCURACY OPTIMIZED CONSTANT MAXIMUM PALETTESOURCE (DEVICE), SOFTWARE...

  • Page 265: Hp Laserjet Iiisi Comments

    HP LaserJet IIISi Comments The LaserJet IIISi printer implements the three PJL kernel commands: ENTER, COMMENT, and the UEL command. As with other PJL printers, the HP LaserJet IIISi printer performs explicit printer language switching using the ENTER command. To enable the printer for language switching, the SYS SWITCH control panel setting must be set to ON.

  • Page 266: Comments About Hp Laserjet Printers

    Comments about HP LaserJet Printers This section explains some important points that should be considered when using PJL with HP LaserJet 4, LaserJet 5, and Color LaserJet printer families, and the HP LaserJet 6P/6MP printers. Support for the features described in this section varies. HP LaserJet family printers that support a particular feature are listed at the beginning of each feature description.

  • Page 267

    Printer Status Readback Printers supporting printer status readback: HP LaserJet 4, 4M, 4 Plus, 4M Plus, 4V, 4MV, 4Si, 4SiMx, 4L, 4ML, 4P, 4MP, 4PJ, 4LJ Pro, 4LC, 4000 series, 5, 5M, 5L, 5P, 5MP, 6L, 6P, 6MP, 5Si, 5SiMx, 5Si Mopier, HP Color LaserJet, HP Color LaserJet 5, 5M, 1100 series, 2100 series, 4500 series, 5000 series, 8000 series, 8100 series, 8500 series When requesting status information from the printer, ignore all status...

  • Page 268

    Commands That Affect Printer Memory Printers that reconfigure memory due to PJL commands: HP LaserJet 4, 4M, 4 Plus, 4M Plus, 4V, 4MV, 4Si, 4SiMx, 4ML, 4P, 4MP, 4PJ, 4LJ Pro, 4LC, 4000 series, 5, 5M, 5P, 5MP, 6L, 6P, 6MP, 5Si, 5SiMx, 5Si Mopier, HP Color LaserJet, HP Color LaserJet 5, 5M, LaserJet 1100 series, 2100 series, 4500 series, 5000 series, 8000 series, 8100 series, 8500 series Four conditions may cause the printer to reconfigure user memory:...

  • Page 269: Resource Saving

    Resource Saving Printers that support resource saving: HP LaserJet 4 Plus, 4M Plus, 4V, 4MV, 4Si, 4SiMx, 4000 series, 5, 5M, 5P, 5MP, 6P, 6MP, 5Si, 5SiMx, 5Si Mopier, 2100 series, 5000 series, 8000 series, 8100 series Resource saving is a feature that allows you to prevent loss of permanent resources (such as fonts, macros, and PostScript dictionaries) when the printer language, page protection, or resolution status changes.

  • Page 270

    • Using the control panel to perform a self test, or to print a typeface list or demo page. • A job boundary indicated by the I/O card, such as the AppleTalk end-of-file. Timeouts Printers that support the TIMEOUT variable: HP LaserJet 4, 4M, 4 Plus, 4M Plus, 4V, 4MV, 4Si, 4SiMx, 4ML, 4P, 4MP, 4PJ, 4LJ Pro, 4LC, 4000 series, 5, 5M, 5P, 5MP, 6P, 6MP, 5Si, 5SiMx, 5Si Mopier, 2100 series, 4500 series,...

  • Page 271

    Backward-Compatibility Mode Printers that support the backward-compatibility mode: HP LaserJet 4, 4M, 4 Plus, 4M Plus, 4V, 4MV, 4Si, 4SiMx, 4L, 4ML, 4P, 4MP, 4PJ, 4LJ Pro, 4LC, 4000 series, 5, 5M, 5L, 5P, 5MP, 6L, 6P, 6MP, 5Si, 5SiMx, 5Si Mopier, HP Color LaserJet, HP Color LaserJet 5, 5M, 1100 series, 2100 series, 4500 series, 5000 series, 8000 series, 8100 series, 8500 series If the printer detects PCL data immediately after a job boundary, it...

  • Page 272

    PJL Job Security Printers that support PJL job security: HP LaserJet 4/4M Plus, 4V, 4MV, 4Si, 4SiMx, 4000 series, 5, 5M, 5Si, 5SiMx, 5Si Mopier, 2100 series, 4500 series, 5000 series, 8000 series, 8100 series, 8500 series (5P, 5MP, 6P, 6MP, 2100: password only), The printers listed above provide two PJL security features: password protection and control panel lockout.

  • Page 273

    LaserJet Printers with Reduced-Function Control Panels HP LaserJet 4L, 4LJ Pro, 4ML, 4LC, 5P, 6P, 6MP, 5L, 6L and 1100 series printers have no control panel to specify printer settings. These printers have several features that are different than those of other PJL printers.

  • Page 274: Color Laserjet Printer Comments

    Color LaserJet Printer Comments The Color LaserJet printer supports context-sensitive language switching, true end-of-job notification, job boundary recognition, and automatic I/O switching. See the PJL Feature Support table in the beginning of this chapter for a list of the PJL features supported. Note that the SET and INQUIRE commands are limited to only being used with the RET variable.

  • Page 275: Printer Environment

    Although the printer can accurately select printer languages this way, we recommend that every job containing printable data include an ENTER LANGUAGE command to explicitly switch to the correct printer language. This method improves performance and eliminates errors in printer language switching. It also guarantees that the correct language is always selected.

  • Page 276

    Variables Not Stored in NVRAM COPIES PAGEPROTECT FORMLINES PAPER MEDIASOURCE PRINTQUALITY MEDIATYPE RENDERMODE ORIENTATION RESOLUTION Printer Status Readback Printers that support printer status readback: HP DeskJet 1600C, 1600M Because the DeskJet 1600C and 1600CM do not support USTATUS or INFO, only the requested status information will come back from the printer.

  • Page 277

    Resource Saving None of the DeskJet 1200C or 1600C printer families support resource saving. Printer Specific Job Boundaries Printers that support printer specific job boundaries: HP DeskJet 1200C, 1200CM, 1600C, 1600CM Unlike the LaserJet 4 family of printers, no implicit PJL job boundaries are recognized.

  • Page 278

    HP LaserJet 5Si/ 5SiMx/5Si Mopier Comments HP LaserJet 5Si, 5SiMx, and 5Si Mopier printers have several features that differentiate them from most of the other LaserJet printers. The following features should be kept in mind when writing PJL code for these printers. •...

  • Page 279: Hp Laserjet 5si Mopier Comments, Stapling Documents

    HP LaserJet 5Si Mopier Comments PJL commands are used to specify the destination bin and control printer functions such as stapling and collating multiple copies. Specifying the Output Bin Documents are sent to specific output bins using the @PJL SET OUTBIN command. The HP LaserJet 5Si Mopier bin definitions are as follows: Bin Description OUTBIN Variable Name...

  • Page 280: Collating Multiple Copies

    Collating Multiple Copies Multiple “mopies” of a job can be printed by sending the @PJL SET QTY command, followed by one copy of the job. This saves network traffic because only one copy must be sent to the printer. The printer stores the job on the internal disk drive and then prints the desired number of collated copies without additional downloading.

  • Page 281

    HP LaserJet 4000 and 5000 Series Comments The LaserJet 4000 and 5000 series printers have a PJL feature set similar to the LaserJet 5Si/5SiMx printers. Listed below are some of the differences between the printers. In addition to the LaserJet 5Si/5SiMx printer features, the LaserJet 4000 and 5000 series printers have: •...

  • Page 282

    The software may resume sending data after it sees the printer go back online. If the software does not detect the printer going offline and then back online within 5 seconds of the echo, the application may assume there is a printer error. Paper Tray Configuration The LaserJet 4000 and 5000 series paper tray configurations are set up as follows:...

  • Page 283

    HP LaserJet 1100 Series Comments The HP LaserJet 1100 series printers have a PJL feature set very similar to the HP LaserJet 6L printer. Listed below are some of the differences. • The INFO VARIABLES command returns the number of pages that have been copied, printed, and scanned (COPYPAGECOUNT, PRINTPAGECOUNT, and SCANPAGECOUNT).

  • Page 284

    HP LaserJet 2100 Series Comments The HP LaserJet 2100 series printers have PJL features similar to the HP LaserJet 6P and 6MP printers. Some of the differences are listed below: • Instead of using the MPTRAY variable, use the INTRAY1 variable to set the default configuration of Tray 1 (the MP Tray).

  • Page 285

    HP Color LaserJet 4500 Series Comments This section describes some of the distinguishing PJL features of the HP Color LaserJet 4500 series printers. • The JOBID variable is added to enable or disable the job ID information returned in the status readback at the start and end of jobs.

  • Page 286

    HP LaserJet 8000 and 8100 Series Comments The PJL feature set used by the HP LaserJet 8000 and 8100 series printers is similar to that of the HP LaserJet 4000 series printers. The HP LaserJet 8100 also adds support for a few more paper sizes (ROC8K, ROC16K, and JISEXEC) and adds job management features (PROOF and HOLD jobs —...

  • Page 287

    HP Color LaserJet 8500 Series Comments As part of its paper stacking flexibility, the HP Color LaserJet 8500 printer allows the user to switch the Mail Box Mode (MBM) to any of the following three settings: • Stacker • Separator •...

  • Page 288

    A-66 Product-Specific Feature Support...

  • Page 289

    PJL Command Summary COMMENT @PJL COMMENT <words> [<CR>]<LF> DEFAULT @PJL DEFAULT [LPARM : personality | IPARM : port] ~variable = value [<CR>]<LF> DINQUIRE @PJL DINQUIRE [LPARM : personality | IPARM : port] ~variable [<CR>]<LF> DINQUIRE Response @PJL DINQUIRE [LPARM:personality | IPARM:port] ~variable <CR><LF>...

  • Page 290

    @PJL EOJ [NAME = "job name"] [<CR>]<LF> FSAPPEND @PJL FSAPPEND FORMAT:BINARY SIZE=integer ~NAME = "pathname" [<CR>]<LF> <binary data><ESC>%-12345X FSDELETE @PJL FSDELETE NAME = "pathname" [<CR>]<LF> FSDIRLIST @PJL FSDIRLIST NAME = "pathname" ENTRY=integer ~COUNT=integer[<CR>]<LF> FSDIRLIST Response @PJL FSDIRLIST NAME = "pathname" ~ENTRY=integer[<CR>]<LF>...

  • Page 291

    FSQUERY @PJL FSQUERY NAME = "pathname" [<CR>]<LF> FSQUERY Response If pathname is a file: @PJL FSQUERY NAME="pathname" TYPE=FILE ~SIZE=integer<CR><LF> <FF> If pathname is a directory: @PJL FSQUERY NAME="pathname" TYPE=DIR<CR><LF> <FF> FSUPLOAD @PJL FSUPLOAD NAME = "pathname" OFFSET=<number> SIZE=<number>[<CR>]<LF> FSUPLOAD Response If the pathname is valid: @PJL FSUPLOAD FORMAT:BINARY NAME = "pathname"...

  • Page 292

    INQUIRE @PJL INQUIRE [LPARM : personality | IPARM : port] ~variable [<CR>]<LF> INQUIRE Response @PJL INQUIRE [LPARM:personality | IPARM:port] ~variable <CR><LF> value <CR><LF> <FF> @PJL JOB [NAME="job name"][START=first ~page][END=last page][PASSWORD = number] <CR><LF> OPMSG @PJL OPMSG DISPLAY = "message" [<CR>]<LF> @PJL [<CR>]<LF>...

  • Page 293

    STMSG Response @PJL STMSG DISPLAY="message" <CR><LF> key <CR><LF> <FF> <ESC>%-12345X USTATUS @PJL USTATUS variable = value [<CR>]<LF> Unsolicited Status Message (not a response, but returned when printer events occur) @PJL USTATUS variable <CR><LF> [1 or more lines of printable characters or <WS> followed by <CR><LF>] <FF>...

  • Page 294

    B-6 PJL Command Summary...

  • Page 295: Programming Examples

    Programming Examples Introduction This appendix demonstrates two examples: one PJL example using the C programming language, and one simple batch file. The first example is listed on the left-facing page in the generic format used throughout the rest of the manual. The C code is then listed on the opposite page so that you can compare the C code with the generic code.

  • Page 296

    Example: Switching Printer Languages The job in this example prints two pages: one in PCL and one in PostScript. The program first enters PCL, and then immediately enters HP-GL/2 to draw a box and print “PCL Print Job.” Next, PostScript is entered and PostScript data is sent to the printer to draw a box and print “PostScript Job.”...

  • Page 297

    /****************************************************/ SWITCH.C (Switching Printer Languages) /****************************************************/ #include <stdio.h> Notice the %% required to print the % character main() FILE *prn; /* initialization section */ /************ open PRN for writing ***************/ prn = fopen("lpt1","wb"); /****** Send UEL command and @PJL<CR><LF> *****/ fprintf(prn,"\033%%-12345X@PJL \n");...

  • Page 298

    Example: Using RDYMSG in a Batch File This example demonstrates how to use a batch file to send PJL commands to the printer. In this example, the batch file acts as a spooler, using the RDYMSG command to display the file name while a print file is being downloaded.

  • Page 299

    To use this batch file, type the name of the batch file, followed by the name of the print file, as follows: PRINTPJL printfilename The printfilename is displayed while the job is being downloaded to the printer. Programming Examples C-5...

  • Page 300

    C-6 Programming Examples...

  • Page 301: Status Code Groupings

    PJL Status Codes The status codes listed in this appendix are sent to the host in many of the status readback responses as “CODE = xxxxx,” where each “x” stands for a single digit 0 through 9. For example, if unsolicited status is enabled and the toner runs low, the following message is returned: @PJL USTATUS DEVICE CODE=10006...

  • Page 302

    • PJL File System Errors (32xxx) • Possible Operator Intervention Conditions (35xxx) • Operator Intervention Required (40xxx) • Foreground Paper Mount (41xyy) • Paper Jam Errors (42xyy) • Optional (External) Paper Handling Device Errors (43xyy) • LaserJet 4000/5000 Paper Jam Information (44xyy) •...

  • Page 303

    Status Code Control Panel Display String or Code Meaning 10013 04 SELF TEST 10011 18 AUX IO INIT or 18 AUX IO NT RDY or 18 MIO INIT or 18 MIO NOT RDY or HP MIO1 INITIALIZING or HP MIO2 INITIALIZING or HP MIO1 NOT READY or HP MIO2 NOT READY or HP MIO INITIALIZING 10014 06 PRINTING TEST or PRINTING CONFIGURATION...

  • Page 304

    Status Code Control Panel Display String or Code Meaning 10030 Job message — a print job has been received containing the optional DISPLAY="message" token pair associated with the PJL JOB command. 10031 ENGINE CLEANING Background Paper Loading (11xyy) Background paper loading messages appear when a paper input source is out of paper, but another paper source is available and loaded with the correct paper size.

  • Page 305

    YY = Media Code Media Size Unknown Paper Unknown Envelope Letter Paper Legal Paper A4 Paper Executive Paper Ledger Paper A3 Paper COM10 Envelope Monarch Envelope C5 Envelope DL Envelope Japan B4 Paper Japan B5 Paper B5 Envelope Custom Media Paper J-Postcard J-RoundTrip Postcard A5 Paper...

  • Page 306

    Background Paper Tray Status (12xyy) Background paper tray status messages occur when a tray is open or a tray is lifting. Background paper tray status messages are in the format 12xyy. The following tables list the x and y values for these messages.

  • Page 307

    Output Bin Status (15xxy) Output bin status messages occur when an output bin is full. The messages are in the format 15xxy. The following tables list the x and y values for these messages. For example, 15031 indicates that output bin number 3 is full.

  • Page 308

    Status Code Display String or Code Meaning 20011 String missing closing double-quote character 20012 Numeric value starts with a decimal point 20013 Numeric value does not contain any digits 20014 No alphanumeric value after command modifier 20015 Option name and equal sign encountered, but the value field is missing 20016 More than one command modifier...

  • Page 309

    PJL Parser Warnings (25xxx) This group of status codes denote PJL parser warnings, which indicates that part of the PJL command is ignored. Status Code Display String or Code Meaning 25001 Generic warning error (part of the PJL command ignored) 25002 PJL prefix missing 25003...

  • Page 310

    PJL Semantic Errors (27xxx) This group of status codes denote PJL semantic errors. As much of the command is executed as possible, depending on the current configuration of the printer. Status Code Display String or Code Meaning 27001 Generic semantic error 27002 EOJ command encountered without a previously matching JOB command.

  • Page 311

    Auto-Continuable Conditions (30xxx) This list specifies the set of PJL error codes and corresponding control panel display strings for auto-continuable conditions. If no action is taken, the device automatically continues if auto-continue is set to true (except for 30035 and 30036 errors). Status Code Display String or Code Meaning 30010 *...

  • Page 312

    Status Code Display String or Code Meaning 30095 41.2 BEAM DETECT MALFUNCTION 30096 41.3 IMPROPER PAPER SIZE or 41.3 UNEXPECTED PAPER SIZE 30097 41.4 NO VIDEO SYNC 30098 41.5 NOISY VIDEO SYNC REQ SIGNAL 30099 INVALID INPUT SOURCE 30100 INVALID OUTPUT DESTINATION 30101 BINDING AGENT OUT OF SUPPLIES 30102...

  • Page 313

    PJL File System Errors (32xxx) This list specifies the set of error codes for the PJL file system. Status Code Display String or Code Meaning 32000 General error 32001 Volume not available 32002 Disk full 32003 File not found 32004 No free file descriptors 32005 Invalid number of bytes...

  • Page 314

    Status Code Display String or Code Meaning 32023 Bad seek 32024 Internal error 32025 Write only 32026 Write protected 32027 No filename 32051 End of directory 32052 No file system 32053 No memory 32054 Vol name out of range 32055 Bad FS 32056 Hardware failure...

  • Page 315

    Status Code Display String or Code Meaning 35041 W8 JOB 600/OFF 35042 W7 JOB 300/LGL* 35043 W5 JOB 300/LTR* 35044 W6 JOB 300/A4* 35045 W4 JOB 300/OFF* 35073 WM CHK MEM CNFIG or MEMORY SETTINGS CHANGED 35074 WM MEM CNFIG N/A 35075 USER MAINTENANCE REQUESTED 35076...

  • Page 316

    Operator Intervention Conditions (40xxx) This list specifies the set of PJL error codes and corresponding control panel display strings for conditions where operator intervention is required. Printing cannot continue until the condition is resolved. Status Code Display String or Code Meaning 40000 SLEEP MODE (STANDBY)* 40005...

  • Page 317

    Status Code Display String or Code Meaning 40054 54 ERROR 40055 55 ERROR 40056 56 ERROR 40057 57 SERVICE or 57 MOTOR FAILURE, CALL SERVICE 40058 58 SERVICE or FAN MOTOR FAILURE, CALL SERVICE 40059 59 ERROR 40061 61.x SERVICE 40062 62.x SERVICE 40063...

  • Page 318

    Status Code Display String or Code Meaning 40096 41.3 UNEXPECTED PAPER SIZE CHECK PAPER IN TRAY 40099 56.1 ERROR PRESS SELECT KEY 40100 56.2 ERROR PRESS SELECT KEY 40102 FINISHER ALIGN ERROR [BIN NAME] 40103 FINISH LIMIT REACHED [BIN NAME] 40104 INPUT DEVICE FEED PATH OPEN 40105...

  • Page 319

    Foreground Paper Loading (41xyy) Foreground paper loading messages are sent when one of the paper input sources is out of paper and there is no other input source available and loaded with the correct paper size. When this occurs, the printer goes offline until someone loads paper. The messages are in the format 41xyy.

  • Page 320

    YY = Media Code Media Size DL Envelope Japan B4 Paper Japan B5 Paper B5 Envelope Custom Media Paper J-Postcard (or JB4 paper—LaserJet 6P, LaserJet 2100) J-RoundTrip Postcard (or JB5 paper— LaserJet 6P, LaserJet 2100) A5 Paper (or JPostcard—LaserJet 6P Letter-R Paper (or JDoublePostCard—...

  • Page 321

    Y = Jam Location Tray Non-specific jam Paper feed 1, paper late jam Paper feed 2, paper late jam Fuser output, paper late jam Fuser output, paper stopped jam Face down output, paper late jam Face down output, paper stopped jam 2-Sided turn around, paper late jam 2-Sided turn around, paper stopped jam 2-Sided path, paper late jam...

  • Page 322

    Optional (External) Paper Handling Device Messages (43xyy) This category contains error messages related to any optional external paper handling devices. The messages are in the format 43xyy, where x is the number of the paper handling device and yy is the error code. x = Device Paper Handling Device First device attached to PHC...

  • Page 323

    yy = Code Error Code FIFO empty when expecting data FIFO full when tray to send data Invalid page ACK (formatter not expecting a page ACK) Page ACK timeout Inconsistent paper size Wrong page ACK Device(s) never ready during installation Negative ACK of ready tray LaserJet 4000 / 5000 Series Paper Jam Messages (44xyy)

  • Page 324

    Hardware Errors (50xxx) These status codes are sent out when a hardware problem exists and the printer is working well enough to send status messages. Status Code Display String or Code Meaning 50000 General Hardware Failure 50001 ROM or RAM Error, ROM Checksum Failed (or interface error [DesignJet]) 50002 RAM Error, RAM Test Failed...

  • Page 325

    Status Code Display String or Code Meaning 50016 57.1 FAN FAILURE CALL SERVICE or FAN MOTOR 1 FAILURE 50017 57.2 FAN FAILURE CALL SERVICE or FAN MOTOR 2 FAILURE 50018 57.2 FAN FAILURE CALL SERVICE or FAN MOTOR 3 FAILURE 50019 57.4 FAN FAILURE CALL SERVICE or FAN MOTOR 4 FAILURE...

  • Page 326

    Status Code Display String or Code Meaning 50029 64 PRINTER ERROR CYCLE POWER or VIDEO DMA TRANSFER TIMED OUT 50030 FAN MOTOR 5 FAILURE 50031 FAN MOTOR 6 FAILURE 50032 FAN MOTOR 7 FAILURE 50033 FAN MOTOR 8 FAILURE 505xx Firmware Error, Power Cycle 50599 Processor Error, Power Cycle...

  • Page 327

    Glossary This character indicates that the current command line is a continuation of the previous line. For example, “These ~words are all part of the same line.” The vertical bar, when shown in a command, indicates that either one or the other options may be selected, but not both. Active I/O Port The I/O port which is providing the data for the current print job.

  • Page 328: Control Code

    After a job boundary is encountered and there is no data available from the active I/O port, all the I/O ports are enabled and checked for available data. The first port to receive data is the new active I/O port. The other ports are temporarily disabled, the print job processed, and then the automatic I/O switching process repeats.

  • Page 329: Factory Default, Factory Default Environment, Implicit Switching

    Explicit Switching Explicit switching occurs when a printer language is activated due to processing a PJL ENTER command. Factory Default Factory defaults refer to the feature settings that are programmed into the printer at the factory. These values are stored in read-only memory and cannot be changed.

  • Page 330

    Non-Printing Mode Printing selected pages in a print job by sending the entire print job, the desired starting page number, and the ending page number. The PJL JOB command options START and END are used to provide the starting page number and the ending page number. When the printer processes the pages that are not printed, the printer is said to be in non-printing mode.

  • Page 331: Pjl Job

    PJL Current Environment The PJL Current Environment is the set of features that is active when a PJL job is entered. As soon as a PJL job is entered, the PJL Current Environment settings are the same as the User Default Environment. Applications then can modify the PJL Current Environment values using the PJL SET command.

  • Page 332: Status Readback

    Printer Language A set of syntax and semantic rules used to control a printer. PCL and PostScript are both printer languages—they both contain commands that enable the user to control where marks are printed on a page. Ready Message A ready message is displayed on the control panel display when no error conditions are present.

  • Page 333: User Default

    Unsolicited Status Unsolicited status (USTATUS) is printer status information sent as a result of certain printer events occurring, such as when the printer runs out of paper, a job finishes printing, or when a certain time period elapses. There are several types of unsolicited status (DEVICE, JOB, PAGE, and TIMED);...

  • Page 334

    Glossary-8...

  • Page 335

    Index Symbols example 4-6 compatibility of PJL 1-4 @PJL 2-5 compatibility with LaserJet III A-49 | (vertical bar) Glossary-1 compatibility with PCL 1-5 compatibility with PostScript 1-5 Numerics COMPRESSRASTERSTORAGE variable 10010 error 11-25 6-13 1A (line continuation character) Glossary- configuration Glossary-2 configuration information requesting 7-17 configuration status 7-1...

  • Page 336: Table Of Contents

    FSUPLOAD command 9-13 ECHO command 7-3, 7-14, 11-26 example 7-15 EconoMode A-51 hardware errors D-24 ECONOMODE variable 6-14 HOLD variable 6-15, 10-2, 10-6 ENTER command 2-3, 4-4, 6-7 HOLDKEY variable 6-15, 10-2 example 4-5 HOLDTYPE variable 6-15, 10-3 ENTER LANGUAGE command A-44 HP Explorer Software 1-iii environment Glossary-2 environment commands 6-1...

  • Page 337

    LaserJet 8000 series printers A-64 LaserJet 8500 series printers A-65 JAMRECOVERY variable 6-31 LaserJet IIISi printer 1-4, A-43 Japanese character set 2-8 line spacing (FORMLINES) 6-15 JIS X0201-76 character set 2-8, 5-4, 8-3, line termination 3-3 8-6, 8-7 LINETERMINATION variable 6-30 job boundaries 5-4 LOWTONER variable 6-18 job boundaries, printer-specific A-47...

  • Page 338

    job security 5-10, A-50 job separation commands 5-1 page count 5-4, 7-23 minimum command set 4-1 PAGE variable 7-38 prefix 2-5 PAGELENGTHACCURACY variable 6- processing invalid commands 2-9 programming tips 10-1, 11-1 PAGEPROTECT variable 6-20 requesting printer status 11-18 PaintJet XL300 printer 1-4, A-3 reset condition 6-8, Glossary-5 PAPER variable 6-20 sample jobs 3-4...

  • Page 339

    printer utilities 11-5 determining if available 11-21 printing pre-existing jobs 11-11 LaserJet 4 A-45 PRINTQUALITY variable 6-22 old responses 11-24 product-specific feature support A-1 unexpected responses 11-25 programming examples C-1 status readback and printer sharing 11-19 programming tips 10-1, 11-1 status readback commands 7-1 PRTPSERRS variable 6-31 status readback format 7-4...

  • Page 340

    USTATUS JOB command 7-36 USTATUS PAGE command 7-38 USTATUS TIMED command 7-40 USTATUSOFF command 7-42 utilities 11-5 value 2-4 variable support A-6 variable types 2-7 variables environment 6-11 INFO VARIABLES command 7-25 PCL-specific 6-26, 6-27 PJL environment 6-12 PostScript-specific 6-31 vertical bar Glossary-1 well-formed jobs 3-3 white space (WS) 2-5...

  • Page 342

    2003 Hewlett-Packard Development Company © *5021 -0380 *5021 -0380 5021-0380 http://www.hp.com...

This manual also for:

3015 - laserjet b/w laser 3030 - laserjet b/w laser 3100 - laserjet b/w laser 3150 - laserjet b/w laser 3200se - laserjet all-in-one b/w laser 3300mfp - laserjet b/w laser... Show all

Comments to this Manuals

Symbols: 0
Latest comments: