OpenSolaris

  code review   repo   packages   bugs   defect   polls   planet
You are not signed in. Sign in or register.

OpenSolaris Community: OpenSolaris Printing

View the leaders for this community
Community Observers

Endorsed projects

Solaris Printing

Solaris printing consists of the software to support the commands, spooler, over-the-wire protocol, and all the underlying technologies to move a print request from the client to the server and/or printer. Below is a high level block diagram that is a reasonably accurate representation of print system components, though it is missing pieces and we are still migrating applications/toolkits on top of the papi instead of lp/lpr commands.
lpr(1b), lpq(1b), lprm(1b), lpc(1b) lp(1), lpstat(1), cancel(1), accept(1m), reject(1m), enable(1m), disable(1m) libgnomeprint.so includes a PAPI support module psshared.so support soffice support libXp.so on top of the PAPI libQt.so support for the PAPI print service management application layered on top of the PAPI Currently, applications make use of the BSD/SYSV commands to interact with the print service.  We will work with application owners/developers to migrate directly to the PAPI when requested. FSG Open Standard Print API provides applications with a print service independent method of using print services.  This interface allows print services to be changed without impacting applications layered on it. RFC-1179 (lpd) protocol is a widely used protocol for printing.  PAPI support for this allows applications to query, cancel, and create print jobs on rfc-1179 based print services.  IPP is an emerging standard protocol for print service interaction.  PAPI support for this protocol allows a wide variety of operations to be performed with IPP enabled print services. RFC-1179 protocol support layered on top of the PAPI as a client application.  This provides rfc-1179 support that is not tied to a particular print service. A dedicated instance of the Apache Web server listening for IPP requests. Apache glue module handles configuration and hands off connections to the ipp-listener library library of routines to handle various IPP protocol operations. library of routines to encode/decode IPP requests/responses IPP listening service allow IPP client (CUPS, Windows and others) to interact with the local print service.  This service makes use of Apache, an IPP listener library, core IPP protocol support, an Apache glue module, and the PAPI to take requests, communi FSG Open Standard Print API Solaris LP spooler [net]standard interface scripts legacy backend processing scripts for final job processing new backend processing script that can use Foomatic for final transformation and enhanced printer support, as well as additional device communication support (like smbspool) for better printer access.  legacy device communication handlers that communicate with local printers or network attached printers via a raw tcp connection or "lpd" protocol SAMBA component for sending jobs to Windows hosted printers PostScript to *many* printer format converter any to PostScript filter image format conversion support for HP inkjet printers support for epson and many other printers. enhanced legacy backend job processing scripts that expand printer support through the use of Foomatic Document converter to transform print jobs into printer ready format using annotated PPD files and potentially numerous open source applications SAMBA provides SMB (Windows network neighborhood) support for printing and file sharing.  Layering the printing support on top of the PAPI will provide better integration and more functionality to SMB clients. Windows client systems can use SMB (Network Neighborhood) support or IPP support to interact with print servers. MacOS X and Linux use IPP to communicate with print servers.