Printing with CUPS, Part 1 - Page 2
Printer drivers in CUPS consist of one or more filters specific to a printer, which are packaged as PPD (PostScript Printer Description) files. All printers in CUPS need one – even non-PostScript printers. PPDs contain descriptions about the printers, specific printer commands, and filters.
The heart and soul of CUPS are filters. Filters translate print jobs to formats the printer can understand, such as PDF, HP-PCL, raster, and image files. Filters pass in commands such as page selection and ordering. PPDs are text files – take a look in /usr/share/cups/model/ to see what they look like. Installed printers have PPDs in /etc/cups/ppd.
Included in CUPS are generic PPDs for 9-pin and 24-pin Epson dot matrix printers, Epson Stylus Color, Stylus Photo, HP LaserJet, HP DeskJet, and even Dymo label printers. These will work for hundreds of printers, although they may not support all printer functions, such as duplexing and tray selection.
Finding drivers for printers can get confusing, as there are many sources to peruse: printer manufacturers, CUPS, Gimp-Print, ESP, random developers, etc. Save your sanity and start with what ships with CUPS. If these drivers aren't too your satisfaction, visit linuxprinting.org. Gimp-Print drivers are high-quality – I prefer them.
Note that printer drivers for CUPS cannot just be copied over; rather, they must first go through a PPD-file generation process before CUPS can use them. Again, refer to linuxprinting.org, which has instructions and web-based utilities to handle the job.
Easy Software Products, the maintainer and developer of CUPS, distributes the tool in two versions: a free of cost (under the GPL) edition and the commercial ESP Print Pro. ESP Print Pro costs $49 for the single, standalone Linux version and $249 for a server with unlimited clients. Various pricing plans are also available for enterprise users.
The commercial version comes with many more printer drivers as well as technical support. The commercial version is worth considering to get support, better drivers, or for unusual or higher-end printers.