Foomatic
Encyclopedia
Foomatic is a configurable printing filter. It uses PPD
PostScript Printer Description
PostScript Printer Description files are created by vendors to describe the entire set of features and capabilities available for their PostScript printers.A PPD also contains the PostScript code used to invoke features for the print job...

 files as configuration to generate appropriate output for a given printer. It is intended to be used with the Common Unix Printing System
Common Unix Printing System
CUPS is a modular printing system for Unix-like computer operating systems which allows a computer to act as a print server...

 (CUPS). It uses ghostscript
Ghostscript
Ghostscript is a suite of software based on an interpreter for Adobe Systems' PostScript and Portable Document Format page description languages.- Features :...

 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
Linux Foundation
The Linux Foundation is a non-profit technology consortium chartered to foster the growth of Linux.Founded in 2007 by the merger of the Open Source Development Labs and the Free Standards Group , the Linux Foundation sponsors the work of Linux creator Linus Torvalds and is supported by leading...

.

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
    Raster graphics
    In computer graphics, a raster graphics image, or bitmap, is a data structure representing a generally rectangular grid of pixels, or points of color, viewable via a monitor, paper, or other display medium...

     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, for PCL
    Printer Command Language
    Printer Command Language, more commonly referred to as PCL, is a page description language developed by Hewlett-Packard as a printer protocol and has become a de facto industry standard. Originally developed for early inkjet printers in 1984, PCL has been released in varying levels for thermal,...

     inkjet printers
  • splix, for Samsung Printer Language
  • gdi, for Samsung SmartGDI

Spoolers that can interact with foomatic

  • CUPS
  • LPRng
    LPRng
    LPRng is a printing system compatible with the Berkeley printing system. It provides printer spooling and network print server functionality using the Line Printer Daemon protocol....

  • LPD
    Line Printer Daemon protocol
    The Line Printer Daemon protocol/Line Printer Remote protocol is a network protocol for submitting print jobs to a remote printer. The original implementation of LPD was in the Berkeley printing system in the BSD UNIX operating system; the LPRng project also supports that protocol...

  • GNUlpr (see its SourceForge page)
  • Solaris LP
  • PPR
    PPR
    PPR may refer to:* Pipe Penetrating Radar, Ground Penetrating Radar performed from inside buried pipe and conduit infrastructure* PPR , a French luxury goods and retail distribution company...

  • CPS
    CPS
    -Australia:*Corporate Protective Services, Sydney based GPS monitoring company*Chatswood Public School, a school in Sydney-Bangladesh:*Criminology and Police Science, CPS is a discipline studied by the department at Mawlana Bhashani Science and Technology University in Tangail, Bangladesh. Md...

  • Direct printing (no spooler)

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK