If you are using 5250 IBM i then you are probably familiar with the term SCS spool printer or 3812 printer clients. Then you know how many issues this legacy telnet based printer client software has and how complicated it is to find proper configuration for a specific printer, printer language and code page. Not to mention many other issues.
Two major problems exist for standard SCS printers:
- Only printers with EPL or PCL languages are supported
- Telnet protocol security
First problem is that SCS spool files can't be printed on windows-only or also called raster printers as they rely on OS to generate a raster image. SCS spools are text only format and additionally in EBCIDIC encoding which makes the situation even worse.
One of the biggest if not major problem with IBM 3812 printing is telnet protocol. Literally, plain telnet without any sign-on feature is used. And the question is why it is so problematic?
Imagine your IBM i is running in cloud, or it is accessed from the Internet in general. Anyone who knows about IP (or manage to discover it) might create DoS attacks or just start 3812 protocol based printer telnet client on specific QUEUE to steal printouts. As some printouts might come from ERP containing sensitive financial data, you guess it... A big security hole. And here we just scratch the surface.
There are some solutions as VPN or Client Based SSL Certificates or IP address access control and so, but they are complicated to set up and maintain. Especially if IBM outsourcing company is responsible for maintaining hundreds of companies with dozens or hundreds of workstations per client.
Green Screens Terminal Proxy Service has support for virtual printing from beginning. It is implemented in a modern and very secure way - through browser using standard Web Technologies isolating 3812 printing service and also solving many mentioned problems with custom developed SCS printer drivers supporting native print to PDF, TXT, HTML, many image formats and many others.
However, browser printing is not always enough. Some clients have special requirements as printing directly to printer as ZEBRA printers. Zebra print files are text files with ZPL commands, and they are not quite nicely supported by browsers so we still need a printer client in some situations. Thus, we developed our own printer client.
As a matter of fact, two...
First one is a standalone independent application used as a replacement for standard legacy 3812 terminal clients solving many SCS printing issues and also implementing many new custom drivers including ZEBRA printing support. It is sold separately as an individual product, and it is intended for inside company internal network.
Second one, more interesting is Printer Desktop Client which prints through Green Screens Terminal Proxy Service in a secure manner.
This printer client can work as a central printing station to print from multiple OUTQs to a network printer. It is enough to start it on a single workstation and configure as many OUTQ's as needed.
Another reason we created this client is to support remote printing securely for Cloud based outsourced IBM i servers. All data and connection initialization are through Green Screens Terminal Proxy Service instead of directly connecting to IBM i. This enables IBM i to be thoroughly isolated from direct Internet access. SSL is fully supported including support for strong client based SSL certificates.
All advanced features, printing, drivers and SCS spool processing are running on Green Screens Terminal Proxy Service. This client is here only to establish secure connection and enable link between locally installed printer and remote printing file no matter is it PDF, Image, ZPL, HTML or something else.
Below are real examples of SCS spool file converted into PDF, SVG2PDF and SVG.
Sources for custom rendering into JSON/SVG/SVG2PDF can be found on our GitHub repository here. (go to INVOICE/script.jsx for main script)
If you are interested to try it out, please fill out our Live Demo Request Form, and we will send you download link and usage instructions.