9.1 The Workflow of the Printing System
The user creates a print job. The print job consists of the data to print
plus information for the spooler, such as the name of the printer or the
name of the printer queue, and, optionally, information for the filter,
such as printer-specific options.
At least one dedicated printer queue exists for every printer. The
spooler holds the print job in the queue until the desired printer is
ready to receive data. When the printer is ready, the spooler sends the
data through the filter and back-end to the printer.
The filter converts the data generated by the application that is
printing (usually PostScript or PDF, but also ASCII, JPEG, etc.) into
printer-specific data (PostScript, PCL, ESC/P, etc.). The features of the
printer are described in the PPD files. A PPD file contains
printer-specific options with the parameters needed to enable them on the
printer. The filter system makes sure that options selected by the user
are enabled.
If you use a PostScript printer, the filter system converts the data into
printer-specific PostScript. This does not require a printer driver. If
you use a non-PostScript printer, the filter system converts the data
into printer-specific data. This requires a printer driver suitable for
your printer. The back-end receives the printer-specific data from the
filter then passes it to the printer.