IFS Print Agents
The IFS Print Agent is a stand-alone server component responsible for printing formatted business documents (operational reports) created using Report Designer layouts. To fully understand the nature of the Print Agent it's highly recommended to first familiarize your self with the Report Formatter.
The IFS Print Agent is responsible for printing the pre-formatted PDF documents that are created and stored in the database by the Report Formatter. It is a standalone piece of software which runs on a local server close to the printer. When a report is printed to a logical printer using a Report Designer layout, the Report Formatter picks up the job and formats the report given the layout and configured locale. The result of the formatting step is a PDF document that is stored in the database. The Print Agent polls the print queue for PDF's to be printed at a configurable interval and when a formatted report is found it's transferred over the network. Then it will be printed on the local area network by the Print Agent to the printer defined in the configuration logical to physical printer mapping.
To minimize the network load, especially when the printers are located on a site connected to the corporate server network through a wide area network (WAN), it's important the Print Agent is located/installed close to the printer (i.e. on the same LAN). The Print Agent should ideally not be connected to the printers through a WAN. It's perfectly ok to have a WAN connection between the central servers (database and application server) and the Print Agent, but the printers and the Print Agent should reside on the same LAN.
IFS Print Agent can also be used to print Report Designer reports on Windows printers even if the central application server is running on Linux or Unix.
Internally in the Print Agent, the actual spooling of the print jobs is done with a 3rd Party library.
The.Net C# based Print Agent available from ***LA10*** uses a completely different library called "Terminal Works Printing.Net". This version of the Print Agent is much easier to install and configure and it utilizes the new and more modern ODATA connection to the application server. It is build on RESTful technologies and can be remotely monitored. See how it is installed and configured here.
The Print Agent has a few separate threads responsible for socket spooling. This can be useful when printing ZPL to a label printer. This would improve robustness and traceability or solve network related issues like firewall blocks, file-share security or similar problems.
It is basically a socket listener that will forward a printout to a printer or folder location. It puts jobs in a queue that is process when ever the printer is available. Not jobs are allowed to be removed from the queue until they are passed on correctly to the printer. This solves problems with printers running out of ink or labels. It also acts as a buffer for printers that get choked when you send too many labels at the same time.
It can also be used as a makeshift Zebra printer to the report developer. Just to be able to set up ZPL printing correctly and monitor the process. Printouts can be written to a log file and you can queue up jobs to verify that the reports are rendered correctly from the application server.
The last and maybe least useful feature is the capability to poll a folder for print jobs and pass them to a printer. This could be used to solve some integration related issues. You can print to a file in a folder via IFS Connect or Extended Report Formatter plug-ins and let it be printed on a printer automatically. This might be able to circumvent some limitations in the software.
The Socket Spooler is disabled by default and must be enabled and configured. See the installation guide for more details.