CUPS provides a portable printing layer for UNIX®-based operating systems. It has been developed by Easy Software Products to promote a standard printing solution for all UNIX vendors and users. CUPS provides the System V and Berkeley command-line interfaces.
CUPS uses the Internet Printing Protocol ("IPP") as the basis for managing print jobs and queues. The Line Printer Daemon ("LPD") Server Message Block ("SMB"), and AppSocket (a.k.a. JetDirect) protocols are also supported with reduced functionality. CUPS adds network printer browsing and PostScript Printer Description ("PPD") based printing options to support real-world printing under UNIX.
CUPS includes an image file RIP that supports printing of image files to non-PostScript printers. A customized version of GNU Ghostscript 7.05 for CUPS called ESP Ghostscript is available separately to support printing of PostScript files within the CUPS driver framework. Sample drivers for Dymo, EPSON, HP, and OKIDATA printers are included that use these filters.
Drivers for thousands of printers are provided with our ESP Print Pro software, available at:
http://www.easysw.com/printpro/
CUPS is licensed under the GNU General Public License and GNU Library General Public License. Please contact Easy Software Products for commercial support and "binary distribution" rights.
This software version description document is organized into the following sections:
The following CUPS documentation is referenced by this document:
The following non-CUPS documents are referenced by this document:
CUPS 1.1 includes many new features from the 1.0.x releases.
imagetoraster
, imagetops
The image file filters have been upgraded to support conversion of Microsoft Bitmap ("BMP") and Alias PIX files.
A new pdftops filter has been developed that is based on the excellent Xpdf 0.90 software from Derek B. Noonburg. The new filter is faster, smaller, and considerably more reliable than the Ghostscript-based filter in CUPS 1.0.
The pstoraster
filter has been integrated with GNU
GhostScript 5.50. The new RIP supports most Level 3 PostScript language
features.
The new rastertoepson
filter supports EPSON printers
using the ESC/P or ESC/P2 command sets. PPDs are supplied for 9-pin,
24-pin, Stylus Color, and Stylus Photo printers.
The new lpoptions
command allows users to configure
default document options and create additional "instances" of existing
printers, each with unique options.
The lp
, lpr
, and lpstat
commands have been upgraded to use this option and printer instance
information automatically.
CUPS 1.1 includes two new daemons that provide enhanced network printing support.
The cups-lpd
daemon provides support for clients using
the Line Printer Daemon protocol.
The cups-polld
daemon provides remote polling services
for the scheduler.
CUPS 1.1 includes several new printing commands.
The lpoptions
command provides user-defined printers and
options.
The lpmove
command moves a print job to a new
destination.
The lpinfo
command lists the available PPD files or
devices.
CUPS 1.1 adds support for the set-job-attributes
extension operation as well as two new CUPS-specific extension
operations to determine which devices and printer drivers are available
on the system.
Further information on the CUPS implementation of IPP can be found in CUPS-IPP-1.1.
CUPS 1.1 includes many changes from the 1.0.x releases.
The directory structure in CUPS 1.1 has been modified to conform to the Filesystem Hierarchy Standard, 2.0. The following table describes the new file locations.
Description | CUPS 1.0.x | CUPS 1.1.x |
---|---|---|
Backends | /var/cups/backend | /usr/lib/cups/backend |
CGI programs | /var/cups/cgi-bin | /usr/lib/cups/cgi-bin |
Configuration files | /var/cups/conf | /etc/cups |
Documentation | /usr/share/cups/doc | /usr/share/doc/cups |
Filter programs | /var/cups/filter | /usr/lib/cups/filter |
Interface scripts | /var/cups/interfaces | /etc/cups/interfaces |
Locale data | /usr/lib/locale | /usr/share/locale |
Log files | /var/cups/logs | /var/log/cups |
PPD files | /var/cups/ppd | /etc/cups/ppd |
Request files | /var/cups/requests | /var/spool/cups |
CUPS 1.1 is based on version 1.1 of the Internet Printing Protocol.
The new scheduler supports the create-job
and
send-document
operations. In addition, the job-sheets
, job-sheets-default
, and job-sheets-supported
attributes are now supported for banner pages.
The CUPS-get-printers
and CUPS-get-classes
operations have been upgraded to support limited filtering based upon
the printer-type
, printer-location
,
printer-info
, and printer-make-and-model
attributes.
The CUPS-add-printer
operation now supports the
ppd-name
attribute to specify a locally-available PPD file rather
than sending the PPD file from the client with the request.
Further information on the CUPS implementation of IPP can be found in CUPS-IPP-1.1.