ESP Print Pro: The Commercial Cousin to CUPS
Why Pay Money?
ESP Print Pro, by Easy Software Products, is the commercial edition of CUPS, the Common Unix Printing System. CUPS is the standard printing system on virtually all modern Linux distributions and MacOS X. It runs on all Unixes, and provides print services to Windows and *nix systems. CUPS + Linux make a good printer server for Linux/Unix LANs. CUPS + Linux + Samba make a great printer server for Windows and mixed LANs.
CUPS works all this magic with IPP (Internet Printing Protocol). IPP is a client-server protocol that can run on a single system with an attached printer, or on a server with remote clients. You can even send print jobs to far-away remote clients over the Internet, which sounds like a cool way to replace fax machines. In practice I've had it working pretty well, but network printing is inherently troublesome enough that you should have someone at both locations to keep an eye on things.
CUPS comes with a set of generic drivers for 9-pin and 24-pin Epson dot matrix printers, 9-pin and 24-pin Okidata dot matrix printers, Epson Stylus Color, Stylus Photo, HP LaserJet, HP DeskJet, and Dymo labelers. These support hundreds of printers, though not with full functionality; features like tray selection and duplex printing are not included. To really make CUPS useful requires using the Foomatic and Gimp-print drivers. These are available in both .deb and RPM packages, and for the most part are high-quality, especially the Gimp-print drivers.
A nice feature of CUPS is it supports high-volume distributed printing. Several printers are grouped into a class, then print jobs are sent to the class and handled by the first available printer.
CUPS supports IPP, HTTP, and the old lp (System 5) and lpr (BSD) print commands. It has a Web-based GUI control panel. It provides a consistent API for driver development. So with all of these goodies for free, why should you even consider paying money for ESP Print Pro?