HP Printer Job Language (Printer Languages)
HP Printer Job Language (PJL)
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 adds job level controls, such as printer language switching, job separation, environment, status readback, device attendance and file system commands. Unlike PCL and HP GL, which control the placement of dots on the printed page, the Printer Job Language (PJL) commands provide job level control. PJL was primarily designed for use by application developers and technical support personnel. One of the main features PJL offers is the ability to switch printer languages between jobs. Applications supporting PJL can print one job using PCL and then print the next job using PostScript or another printer language – without any operator intervention. PJL can also command two–way communication with the printer.HP’s Printer Job Language (PJL) provides control above PCL and other printer languages. The four major functions provided by PJL are:
Printer language switching
Status readback from the printer
PJL commands may be used to change printer default settings.
PJL can also be used to change the printer’s control panel settings, that is changing default settings without using the control panel, and modify the message displayed on the control panel.
The PJL command structure
PJL was conceived as an extension to PCL, it is now supported by most PostScript printers. Many printer vendors have extended PJL to include commands proprietary to their products. Not all PJL commands documented by HP are implemented in all HP or other vendor products. PJL resides above all the other printer languages and parses commands first. The syntax mainly uses plain English words.
The following example shows the structure of PJL commands. In this example, first a PCL job prints, then PJL switches the printer language to PostScript to prepare for the following PostScript job.
@PJL ENTER LANGUAGE = PCL
– PCL job data –
@PJL ENTER LANGUAGE = POSTSCRIPT
– PostScript job data –
• The Universal Exit Language (UEL) command
exits the current printer language and returns the control to PJL.
• The UEL command must be immediately followed by the PJL
command prefix @PJL.
• To terminate all PJL commands a line termination
is required. A preceding carriage return
• After the UEL command the PJL command sets the printer
language to PCL.
• The PJL command is followed by the data of the PCL print job.
• Another UEL command is used to finish the PJL job.