Foomatic

Printing filter
Linux/Unix printing process. The foomatic filter is applied when conversion from PostScript to raster takes place.

Foomatic is a configurable printing filter. It uses PPD files as configuration to generate appropriate output for a given printer. It is spooler independent which means it can be used with Common Unix Printing System (CUPS), LPRng and others.[1] It uses Ghostscript in the background, using options according to the PPD file of the printer. Currently it is developed by the OpenPrinting workgroup of the Linux Foundation.

Operation

Like CUPS, foomatic supposes that applications will produce output in PostScript. If the output spools to a PostScript printer, no further action is needed. Otherwise, the most generic way to act is:

  • Create a raster file from the PostScript (ps2raster, usually using Ghostscript in the background)
  • Create a printer-language file from the raster data (raster2xxx, using the raster driver of the target printer)
  • Send the printer-language file to the printer

But if foomatic-rip "knows" about the available printer, it will translate the PostScript data directly to the printer's language, without creating the intermediate raster file.

Description of the package

The components of the package are:

foomatic-filters (or "foomatic-rip")
It transforms PostScript data to raster (or to the printer's native language), using the PPD as configuration. It needs a low level driver (specific to each printer) to generate the final code.
foomatic-tools
foomatic-db-engine: A tool that generates PPD files from the data in Foomatic's database. It also contains scripts to directly configure print queues and handle jobs.
foomatic-db: The collected knowledge about printers, drivers, and driver options in XML files, used by foomatic-db-engine to generate PPD files.
foomatic-db-hpijs: Foomatic XML data generators for HP's HPIJS driver.

Free drivers that can interface with foomatic

The following free drivers were specifically developed to work with foomatic:

  • pxlmono and pxlcolor, to work with HP LaserJets
  • ljet4, also for LaserJet printers
  • hpijs Archived 2009-04-22 at the Wayback Machine, for PCL inkjet printers
  • SpliX, for Samsung Printer Language
  • gdi, for Samsung SmartGDI
  • ptouch-driver, for Brother P-touch series of label printers

Spoolers that can interact with foomatic

  • CUPS
  • LPRng
  • LPD
  • GNUlpr (see its SourceForge page)
  • Solaris LP
  • PPR
  • CPS
  • Direct printing (no spooler)

References

  1. ^ "Foomatic". Linux Foundation. 23 February 2009. Archived from the original on 2014-07-01. Retrieved 2014-12-16.

External links

  • Free and open-source software portal
  • Foomatic page Archived 2016-05-27 at the Wayback Machine