Printer Job Language (PJL) is a method developed by Hewlett-Packard 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.

"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."[1]

While PJL was conceived as an extension to Printer Command Language (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.[citation needed]

PJL resides above all the other printer languages and parses commands first.

The syntax mainly uses plain English words.


  1. ^ *"HP PCL/PJL Reference: Printer Job Language Technical Reference Addendum" (PDF). H-P. Retrieved 25 June 2006.