
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 (formerly an acronym for Common UNIX Printing System) is a modular computer printer, printing system for Unix-like computer operating systems which allows a computer to act as a print server. A computer running CUPS is a Server (computi ...
(CUPS),
LPRng and others.
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
The Linux Foundation (LF) is a non-profit technology consortium founded in 2000 as a merger between Open Source Development Labs and the Free Standards Group to standardize Linux, support its growth, and promote its commercial adoption. Addi ...
.
Operation
Like CUPS, foomatic supposes that applications will produce output in
PostScript
PostScript (PS) is a page description language in the electronic publishing and desktop publishing realm. It is a dynamically typed, concatenative programming language. It was created at Adobe Systems by John Warnock, Charles Geschke, ...
. 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:
pxlmonoan
pxlcolor to work with
HP LaserJet
LaserJet as a brand name identifies the line of laser printers marketed by the American computer company Hewlett-Packard (HP). The HP LaserJet was the first popular desktop laser printer. Canon supplies both mechanisms and cartridges for most H ...
s
ljet4 also for LaserJet printers
for
PCL PCL may refer to:
Aviation
*FAP Captain David Abenzur Rengifo International Airport, near Pucallpa, Peru (IATA code: PCL)
*Pilot-controlled lighting, a system by which aircraft pilots can control the lighting of runways and taxiways via radio cont ...
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 it
SourceForge page
*
Solaris LP
* PPR
* CPS
* Direct printing (no spooler)
References
External links
{{Portal, Free and open-source software
Foomatic page
Computer printing
Linux