HOW-TO: HP PCL/PJL For Fun and Profit

PCL stands for Printer Command Language. It is built in to most Hewlet-Packard LaserJet Printers. It includes commands for changing various default printer settings, but the one we’re concerned with is the Ready message. The ready message is the text that is displayed on the LCD screen on the printer when the printer is ready to print. That is changeable via PCL. I am not responsible if you jack up your printer.

You Will Need:

  • An HP Printer that supports PCL/PJL and has an LCD screen
  • Access to the command line

Step 1: Creating a Text File

Open a command prompt. Type “edit” (without the quotes). Hit Control + P, then the Esc key to insert an escape character.
Enter the following text:
%-12345X@PJL RDYMSG DISPLAY=”Your Text Here”, substituting something for Your Text Here

Start a new line, insert another escape character, and put this text:
%-12345X

Save the document as “printer.txt” and close Edit.

Step 2: Mapping a Printer

In the command line, type (without quotes) “net use lpt1 \\yourserver\yourprinter” where Yourserver is the computer where the printer is attached and Yourprinter is the printer’s share name. If you are using a local printer, you can skip this step

Step 3: Copying the Text File

Type “copy /b printer.txt lpt1″ at the command prompt. That’s it. Now check your printer. It should say whatever you entered in the text file.

Step 4: Using my Automated Program

This is a simple Python script for JetDirect networked printers. They have a telnet connection available on port 9100 that you can send PCL commands to.

You can get it here.

To use: Unzip the file. From a command line in the same directory as the script run “python printerhax.py”, or you can double-click to run it. Enter the IP of the printer, and then your message. The rest is automatic.

Step 5: Further use of PCL

Some guides to PCL are available here.

Leave a Reply