|Skip Navigation Links|
|Exit Print View|
|System Administration Guide: Printing Oracle Solaris 11 Express 11/10|
At the core of the print system is a CUPS based spooler and print scheduler. In addition to the spooler are client applications that are used to make requests of and manage the spooler, filters that perform document translation, and a back end program that handles device (printer) communication. To utilize the complete functionality of the print system, all these resources are required.
Printing in the Oracle Solaris OS consists of software that supports the following:
Print spooler and scheduler
Underlying technologies that move a print request from the client to the server, and, or the printer
The following figure is a high level diagram that represents the CUPS print system components. At the top of the diagram are application programs that can generate print requests for documents in various formats, for example, text, PDF, and images. This input is then passed through a set of filters, based on the document type. These filters convert the input into a format that is suitable for the destination printer.
For text and PDF format, the input is passed through a prefilter and then converted to a device-independent PostScript output. This output is passed to a ps-to-ps (PostScript to PostScript) filter where printer-specific options, for example page filtering, are added. If the destination printer is a PostScript printer, the device-dependent PostScript file is passed directly to the back end that is appropriate for that printer. Back ends are programs that send the print-ready file to the appropriate device.
If the printer is a non-PostScript printer, the device-dependent PostScript file is first converted to an intermediary CUPS-raster format, then passed to a printer-specific filter, where the format is converted to output that is handed off to the appropriate back end for that printer. These devices can be local or remote. There is a separate back end program for each transfer protocol (lpd, http, ipp, smb, etc.) and for each local interface (usb, serial, parallel, etc.).
Images are handled slightly differently. The image file is passed either to an image-to-ps filter, where a device-dependent PostScript file is generated (if the destination printer is a PostScript printer) or an image-to-raster filter (if the printer is a non-PostScript printer). These files are then handed off to the appropriate back end program.