CUPS是以客户机、服务器为基础工作的。客户机和服务器通常位于同一台机器上。当打印文件时,此机器(或应用程序)就是客户机。服务器就是在后台运行的、用以打印文件的CUPS程序。
图1-1
1. 作业:
提交打印的一个文件或一组文件称为“作业”。作业有从1开始计数的唯一数字标志,并制定给特定的目的地(通常是打印机)。作业还可以包含相关选项,例如纸张大小、份数、优先级等。
2.类:
CUPS支持打印机的集合,此集合称为“类”。发送给类的作业被转发给类中下一个可用打印机。这使你能够将打印作业发送给一组类似(或完全相同)的打印机,并可在第一个空闲的打印机上打印,而不是等待所选打印机上其他人的作业完成后才打印(参见图1-2)。
图1-2
3.过滤器:
即使打印机不支持文件的格式,用户或应用程序也可以通过过滤器打印文件。在发送给打印机之前,发送给CUPS服务器的打印作业要先经过过滤器处理。过滤器将作业文件转换为打印机可以识别的格式。有些过滤器则执行页面选择和排序任务。
CUPS提供了很多种过滤器,用以打印多种类型的图像文件、HP-GL/2文件、PDF文件和文本文件。CUPS还提供PostScript和图像文件栅格图像处理程序(RIP)过滤器。这种过滤器可将PostScript或图像文件转换为可发送给栅格打印机驱动驱动程序的位图文件(参见图1-3)。
图1-3
4.打印机驱动程序:
打印机驱动程序由打印机特有的一个或多个过滤器组成。每个过滤器都可将一般的文件格式(如位图)转换为打印机格式(如HP-PCL)除了过滤器程序外,每个驱动程序还包括PostScript打印机说明文件(PPD为后缀的文件)。这种文件说明了打印机的特性、选项和功能。
CUPS含有EPSON、Hewlett-Packard和Okidata打印机的示例打印机驱动程序(见表1-1)。这些驱动程序支持制造商的各种打印机。所造成的结果是,这些驱动程序不能为每种型号的打印机提供优化的输出。
表1-1 CUPS的印记驱动程序
来源 | URL | 类别 | 说明 |
Easy software Products | http://www.easysw.com/printpro | 商业软件 | 支持大多数打印机制造商的数千种打印机驱动程序 |
GIMP-print project | http://gimp-print.sourceforge.net | 免费软件 | GIME、Ghostscript和CUPS的打印机驱动程序。包括HP、EPSON、Lexmark和Canon打印机的驱动程序 |
CUPS-o-matic | http://www.linuxprinting.org | 免费软件 | Ghostscript的封装驱动程序。为Ghostscript打印机驱动程序提供CUPS接口 |
EPSON | http://www.ercipd.com/isv/linux/index.htm | 免费软件 | CUPS的EPSON打印机驱动程序 |
后台程序用来执行最重要的一项任务:后台程序将过滤后的打印数据发送给打印机(参见图1-4)。每个后台程序都会和打印机通信,从而将过滤后的打印数据(或原始打印文件)复制到打印机中,并将来自打印机的任何状态信息转发给CUPS服务器。后台程序一般不会过滤或转换打印数据。
CUPS提供多种后台程序,以通过并口、串口和USB端口进行打印,或者通过IPP、JetDirect(AppSocket)和逐行打印机守护程序(LPD)协议进行网络打印。
网络服务软件包还提供了另外一些后台程序,例如SAMBA软件包中所含的SMB后台程序。
后台程序还提供了可用设备的列表。在启动时,每个后台程序都要求提供它所支持的设备列表以及可用的任何信息。例如,并行后台程序可以告诉CUPS,EPSON Stylus Color 600打印机已连接到并口1。
未完待续。。。。