Printer Job Language
Technical Reference Manual
Edition 10
E1097
HP Part No. 5021-0380
Printed in U.S.A. 10/97
Notice
The information contained in this document is subject to change without notice.
HEWLETT-PACKARD MAKES NO WARRANTY OF ANY KIND WITH REGARD TO
THIS MATERIAL, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. Hewlett-
Packard shall not be liable for errors contained herein or for incidental consequential dam-
ages in connection with the furnishing, performance, or use of this material.
This document contains proprietary information which is protected by copyright. All rights
are reserved. No part of this document may be photocopied, reproduced, or translated with-
out the prior written consent of Hewlett-Packard Company.
Copyright © 1997 by HEWLETT-PACKARD CO.
Adobe, PostScript, and the PostScript logo are trademarks of Adobe Systems Incorporated,
which may be registered in certain jurisdictions. AppleTalk is a registered trademark of
Apple Computer, Inc. Centronics is a U.S. registered trademark of Centronics Data Com-
puter Corporation. Bi-Tronics and HP Explorer Software are trademarks and PCL and
Resolution Enhancement are registered trademarks of Hewlett-Packard Company. Epson
is a registered trademark of Epson America, Inc. Harvard Graphics is a registered trade-
mark of Software Publishing Corporation. IBM is a registered trademark and ProPrinter is
a trademark of International Business Machines Corporation. Lotus and 1-2-3 are regis-
tered trademarks of Lotus Development Corporation. Microsoft is a registered trademark
and Word, Windows, MS-Mincho, and MS-Gothic are trademarks of Microsoft Corporation.
ESC/P is a trademark of Seiko-Epson Corporation. WordPerfect is a registered trademark
of WordPerfect Corporation.
First Edition — September 1992 (P/N 5961-0512)
Second Edition — May 1993 (P/N 5961-0998)
Third Edition — July 1993 (P/N 5961-0603)
Fourth Edition — May 1994 (P/N 5961-0636)
Fifth Edition — September 1994 (P/N 5961-0704)
Sixth Edition — May 1995 (P/N 5010-3996)
Seventh Edition — October 1995 (P/N 5010-3999)
Eighth Edition — May 1996 (P/N 5961-0938)
Ninth Edition — October 1996 (P/N 5021-0328)
Tenth Edition — October 1997 (P/N 5021-0380)
ii
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. Using PJL, developers can
provide applications with the ability to programmatically
switch printer languages, monitor printer status, request
the printer model and configuration, change control panel
default settings, modify control panel messages, and more.
This manual is written for experienced users such as
application developers and technical support personnel.
Before using PJL commands, programmers should be
familiar with the introductory information in Chapters 1, 2,
and 3, and with the programming tips in Chapter 10. In
addition, users of this manual should be acquainted with
the HP LaserJet printer language (PCL) and with LaserJet
printer features.
Application
Developers
This PJL Technical Reference Manual provides developers
with all the information necessary to add PJL to their
applications. Examples are used throughout the manual to
help developers write efficient and properly functioning code.
Technical Support
Personnel
This manual provides reference information for network
administrators and other technical support personnel who
manage multi-user systems. PJL provides the potential for
significantly enhancing network printer operation.
Non-Technical Users Non-technical users can use the features of PJL by using
HP Explorer Software, or by using software that supports
PJL. Since improperly used PJL commands can cause
problems in a network situation, inexperienced users are
advised against using PJL commands on any system other
than a dedicated workstation.
iii
Manual
Organization
This manual is comprised of ten 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” commands—those
commands that are part of almost every PJL job. Chapters
5 through 9 each describe a separate group of related
commands. The remaining chapters cover programming
tips and related PJL information. A brief description of each
chapter is provided below.
Chapter 1. Introduction to PJL
This chapter explains what PJL is, who should use PJL,
and the benefits of using PJL in application programs. It
also covers compatibility with non-PJL printers, which
includes HP LaserJet printers, HP DeskJet printers, and
HP DesignJet plotters and printers.
Chapter 2. PJL Command Syntax and Format
Chapter 2 explains the conventions used to describe PJL
command syntax. The chapter also explains the formats
that PJL commands follow and describes what happens
when the printer receives an illegal command.
Chapter 3. Using PJL
This chapter explains how PJL commands are used,
including the requirements of a PJL job and examples
showing basic PJL command structure. In addition, the
chapter categorizes the PJL commands in this manual by
their functionality, along with a brief command summary.
Chapter 4. Kernel Commands
This chapter explains the three core commands used in
most PJL jobs: the Universal Exit Language (UEL)
command, the COMMENT command, and the ENTER
command. The chapter also describes the related topics of
implicit and explicit printer language switching.
iv
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.
Chapter 7. Status Readback Commands
Chapter 7 describes status readback, the format of status
readback responses, using software tools to interpret status
readback, and the commands associated with status
readback (INQUIRE, DINQUIRE, ECHO, INFO,
USTATUS, and USTATUSOFF). This chapter also covers
the processes involved in job recovery and monitoring the
printer control panel.
Chapter 8. Device Attendance Commands
Chapter 8 describes the commands used to display
messages on the printer control panel: the RDYMSG,
OPMSG, and STMSG commands.
Chapter 9. PJL File System Commands
Chapter 9 describes the commands used for managing a
printer-based disk drive, or other printer-based mass
storage. The commands include FSAPPEND, FSDIRLIST,
FSINIT, FSMKDIR, FSQUERY, FSUPLOAD, FSDOWN-
LOAD, and FSDELETE. These commands provide the
capability to initialize the mass storage, make directories,
list directories, and download, upload, delete, and
append files.
Chapter 10. Programming Tips
This chapter demonstrates how to create well-formed jobs
and discusses common problems and things to watch for
v