A filter program reads from the standard input or from a file if a filename is supplied. All filters must support a common set of optins, including printer name, job ID, username, job, title, number of copies and job options. All output is sent to the standard output.
Filters are provided for many file formats and include image file and PostScript raster filters that support non-PostScript printers. Multiple filters are run in parallel to produce the required output format.
The PostScript raster filter is based on the GNU Ghostscript 5.50 core. Instead of using the Ghostscript printer drivers and front-end, the CUPS filter uses a generic raster printer driver and CUPS-compliant front-end to support any kind of raster printer. This allows the same printer driver filter to be used for printing raster data from any filter.
The PDF filter is based of the excellent Xpdf and supports automatic page scaling.
See also: ?PPD.