RPM Outline

RPM Remote Print Manager is our print server software

Following is an outline of the capabilities of RPM Remote Print Manager® (RPM). Not every feature is represented here.

Networking: RPM is a network print server. By default, it listens on port 515 for LPR/LPD traffic. You can also add direct printing support on port 9100 or any other port you choose. RPM can listen on more than one instance of LPD and direct printing. It’s common to see ports 9100 through 9110 used.

Queues: RPM supports named queues, based on the LPD protocol and enhanced by our Linux heritage. Queues have their own setup so you can make transformations and produce outputs independently. Furthermore, you can copy the output of one queue to another, so you can have staged processing. This is how we achieve our workflow model.

RPM supports operator control on queues. You can suspend and resume and jobs will continue to arrive, but won’t process. You can put queues on hold so that each job must be manually released. You can also disable queues so that they keep their settings and history but won’t be visible.

Reprint: queues can be configured for optional reprint. Briefly the queue can preserve the last # of jobs, or preserve jobs for a specified length of time. Right click on the job in the user interface and select "Reprint".

Print jobs: the RPM user interface shows job status, views contents, reprints and more.

Transforms: transforms can make minor to major changes on a print job. We can convert many formats to PDF. RPM can search and replace, remove a few bytes from the head of a file, limit the number of lines and many similar operations.
RPM can translate code pages to Unicode and back. RPM supports the Unicode 5.0 definitions plus any code pages available on your Windows system.
RPM can change the input tray or output bin on a PCL print job, and insert a custom job separator. RPM also supports a variety of banners, including the ability to specify your own file for a banner.

Text markup: this is one of our primary transforms. Text markup includes font names and size, settings for lines per inch and columns per inch. The text markup converters recognize bold and overstrike text. RPM produces text markup, and then converts that to PDF or generates a Windows print. This way you can expect consistent results between output types.

Actions: actions are RPM’s outputs. We maintain our print server heritage by printing, of course. We can pass data through to the printer or use the Windows print drivers with fonts, text metrics, page orientation, etc. RPM can:

Data extraction: RPM can retrieve values within your print jobs to use with the actions. For instance, RPM can use an embedded email address for the recipient or an embedded string for a document name.

Dynamic job routing: RPM can use data values associated with your print job to redirect jobs to a queue whose name includes the actual data value.

Devices: RPM manages concurrent access to Windows devices, such as printers or program command lines. You can specify one or more concurrent instances or unlimited. RPM also licenses by device count used.

Login credentials: As a Windows service RPM is not able to access shared resources. But, you can associate login credentials with an action or device and overcome this limitation.

Interactive: Using credentials, RPM is able to make a process interactive so it appears on the user’s desktop. Normally Windows services have no access to the desktop. This can be used for launching a program, or with certain print drivers which don’t function without access to the desktop.

Logs: RPM maintains a message log, leaving the level of detail to the user. RPM has an event log as part of the user interface which may be useful to Brooks support staff. RPM also maintains several text logs.

Scheduler: RPM Elite has options for specifying the order in which jobs process.

Security: RPM can control whether a remote host has access to print.

Image overlays: RPM Elite can add overlays to PDF files or Windows text printing.

Add-on modules: RPM can enable extra modules, for instance, the folder watcher.

FTP servers: RPM Elite can upload jobs to FTP servers. RPM manages access to the servers separate from the actions so you can specify a folder without re-entering the user and password.

Published API: RPM has an API for Python users, published on github. The user interface and our customization projects use this.