Printer driver
From Wikipedia, the free encyclopedia
In computers, a printer driver is a piece of software that converts the data to be printed to the form specific to a printer. The purpose of printer drivers is to allow applications to do printing without being aware of the technical details of each printer model.
Printer drivers should not be confused with print spoolers, that queue print jobs and send them to printer one after the other.
[edit] Printer drivers in different OS
On UNIX systems, printer drivers are typically implemented as filters (see also printcap). They are usually named front end of the printing system, while the printer spoolers constitute the back end.
Backends are also used to determinate the available devices. On startup each backend is asked for a list of devices it supports, and any information that is available. This allows the parallel backend to the spooler that an EPSON Stylus Color 600 printer is attached to parallel port 1, for example.
On MS-DOS, there have been no system-wide printer drivers; each application was shipped with its own printer drivers, which were essentially descriptions of printer commands. Printers, too, have been supplied with drivers for the most popular applications. In additions, applications included tools for editing printer description, in case there was no ready driver.
On Microsoft Windows and Macintosh systems, printer drivers make a part of GDI. Programs then use the same standard APIs to draw text and pictures both on screen and on paper. Printers which use GDI natively are commonly referred to as Winprinters and considered problematic for other operating systems.
Win32 APIs also allow applications to send data directly to spooler, bypassing the printer driver; however, few applications actually use this option.
[edit] Description of a printer
Usually the operating system needs to know the characteristics of a printer. The PPD files are the normal way to supply this information. They have the advantage of being system independent and that there is a large freely available database of them, known as Foomatic.