AppSocket Support for PJL (Printer Job Language)


RPM Remote Print Manager® ("RPM") includes AppSocket printing support. You can now print to RPM using any print client that expects PJL responses from the printer. RPM emulates responses to some commands and passes others along to the printer.

RPM's AppSocket emulates portions of HP's JetDirect protocol, which is used widely in the industry. For example, the AppSocket module examines the Printer Job Language (PJL) commands embedded in the print job. These commands typically appear both before and after the print job.

This release contains several key features we consider to be noteworthy.

  • AppSocket responds to a variety of commands described in the PJL references.
    • This command set seems to satisfy the systems we've tested with (for instance, the AS/400)
  • AppSocket extracts data from the PJL to use as the job metadata, such as the print job name, username, start and end pages, and more
  • The UI launches a utility to a networked printer for settings and then uses those settings as an "emulation" to work with your print client
  • We protect confidential information about your printers, such as the serial number
  • RPM handles timeouts in perhaps a more straightforward manner than your printer might. We are concerned with submitting the job, not waiting five minutes for the rest of a page

Listing of PJL commands that AppSocket uses

AppSocket actively processes certain PJL commands. RPM passes all other commands to the printer without taking additional action or response.

PJL status readback supported by AppSocket

All responses are formatted as described in the PJL reference manuals, ending each line with a carriage return and line feed and adding a form feed at the end.

This page lists the commands and responses.

PJL commands which are currently not implemented

Command Comments
@PJL DMINFO ASCIIHEX AppSocket returns the empty result "?" and does not attempt to interpret this command
@PJL USTATUS PAGE ON AppSocket does not currently emulate page printing or page status

About printer emulations

The RPM user interface launches a utility that queries your printer to provide similar responses.

How to configure AppSocket

To add an AppSocket protocol in the user interface, go to Configure / Port settings.

How to query printers on your network

This page provides an overview of how the RPM user interface queries individual printers on your network.

How AppSocket handles timeout value and timeouts

This page describes how AppSocket implements timeouts to provide a quiet print capability.

AppSocket introductory video

AppSocket featurette

We have created our first AppSocket video, which introduces the concepts and the setup.