We released a new version of RPM Remote Print Manager® ("RPM") with bidirectional printing support. You can now print to RPM using any print client that expects responses returned from the printer.
RPM now emulates the AppSocket or JetDirect protocol, which is used widely in the industry. The AppSocket module examines the Printer Job Language (commonly known as 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 as described in the PJL references, which 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 query your local printer for settings and then uses those settings as an “emulation” to work with your print client in a familiar way
- We protect confidential information about your printers such as the serial number and file system
- RPM handles timeouts in perhaps a more simple 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 a number of PJL commands, listed on this page. Note that all other commands are passed through without a response from AppSocket or any additional actions.
PJL status readback supported by AppSocket
All responses are formatted as described in the PJL reference manuals, using a carriage return and line feed ending each line, ending with a form feed.
PJL commands which are currently not implemented
|@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, so this command is ignored|
About printer emulations
The RPM user interface launches a utility which queries your printer, in order to provide similar responses.
How to configure AppSocket
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
We have created our first AppSocket video which introduces the concepts and the setup. We already plan further videos.