Home • PJL commands • Status readback • Printer emulation • Configure • Query printer • Timeouts • Video

What This Page Is About
RPM's AppSocket protocol scans PJL commands embedded in print jobs to extract useful metadata - things like who sent the job, what it's called, and how many copies to print. This page explains which commands we look for and how we process them.
Most of what you need is in the first three commands below. The rest handle edge cases.
| Command | Notes |
| @PJL SET JOBNAME = “x” | Extracts the jobname between the quotes, used for jobname |
| @PJL SET USERNAME = “x” | Extracts the username between quotes, used for job metadata |
| @PJL SET COPIES = x | Extracts the digits following the equal sign, used for job metadata |
| @PJL SET JOBIDVALUE = x | Extracts the digits following the equal sign for the job-specific ID value |
| @PJL SET TIMEOUT = x | Extracts the digits following the equal, used for job timeout |
| @PJL SET variable = value | Updates the stored value for a variable name; if the emulation defines the variable then a “current” field is added; otherwise, we create the variable and value |
| @PJL DEFAULT COPIES = x | Extracts the digits following the equal, used for job metadata |
| @PJL DEFAULT JOBIDVALUE = x | Extracts the digits following the equal sign for the job-specific ID value |
| @PJL DEFAULT TIMEOUT = x | Extracts the digits following the equal, used for job timeout |
| @PJL JOB | Any of the following are used if present: NAME, START, and END |
| @PJL EOJ | If status readback is turned on for JOB, then RPM generates a status readback which includes the JOBID value |
| @PJL INFO type | RPM generates a response using the printer emulation, except for FILESYS, which gets a response indicating there is no file system |
| @PJL INQUIRE setting | RPM returns the current value for the setting, either from the emulation or any SET operations that added or updated a value |
| @PJL DINQUIRE setting | RPM returns the default value for variables in the emulation |
| @PJL ECHO string | RPM returns the value of “string” |
| @PJL USTATUS args | RPM tracks the possible values for USTATUS DEVICE, JOB, PAGE, and TIMED. We discuss this in the section “PJL status readbacks supported by RPM” |
| @PJL USTATUSOFF | Turns off all USTATUS responses |
| @PJL DMINFO x | RPM ignores DMINFO by returning the “?” response |
| @PJL ENTER LANGUAGE x | RPM stores the language in the format metadata. If USTATUS JOB is ON, then RPM generates a response. |