第 11 章 打印机操作

目录

11.1. 打印系统工作流程
11.2. 连接打印机的方法和协议
11.3. 安装软件
11.4. 配置打印机
11.5. 为应用程序进行配置
11.6. SUSE Linux 中的特殊功能
11.7. 查错

CUPS 是 SUSE Linux 中的标准打印系统。CUPS 高度面向用户。在很多情况下,它与 LPRng 兼容或者可以相对方便地进行调整。出于兼容性的原因,LPRng 仅包括在 SUSE Linux 中。

可以根据接口(例如 USB 或网络)以及打印机语言对打印机进行区分。当购买打印机时,确保打印机具有硬件所支持的接口和合适的打印机语言。可以按照以下三类打印机语言对打印机进行分类:

PostScript 打印机

Linux 和 Unix 中的内部打印系统使用 PostScript 这种打印机语言生成并处理大部分打印作业。这种语言已经有很长的历史并且非常有效。如果打印机可以直接处理 PostScript 文档而不需要在打印系统中通过附加步骤转换这些文档,则可以降低可能出现的错误的数目。因为 PostScript 打印机购买许可证要花费大量的成本,所以购买这些打印机的花费比不带 PostScript 解释器的打印机要高得多。

标准打印机(PCL 和 ESC/P 等语言)

虽然这些打印机语言有相当长的历史,但它们仍在进行扩展以处理打印机中的新功能。对于已知的打印机语言,打印系统可以借助 Ghostscript 将 PostScript 作业转换为相应的打印机语言。这一处理阶段被称为解释。最有名的语言有 PCL(主要是 HP 打印机及其克隆产品使用)和 ESC/P(Epson 打印机使用)。这些打印机语言通常受 Linux 支持,可以生成相当好的打印效果。Linux 可能不能处理非常新以及非常特别的打印机的一些功能,原因是开放源代码的开发人员可能仍在开发这些功能的代码。除了 HP 开发的 hpijs 驱动程序之外,当前尚没有其它打印机制造商开发 Linux 驱动程序并在开发源代码许可证下将这些驱动程序提供给 Linux 经销商。这些打印机中大多数价格适中。

专用打印机(通常是 GDI 打印机)

通常,只有一个或几个 Windows 驱动程序可用于专用打印机。这些打印机不支持任何常用打印机语言,而且每次发布某个型号的新版本时,它们所使用的打印机语言都可能会更改。有关详细信息,请参见第 11.7.1 节 “打印机没有标准打印机语言支持”

在您购买新打印机之前,请参考以下资源以了解您要购买的打印机的支持情况:

联机数据库总是显示最新的 Linux 支持状态。但是,Linux 分发只能集成生产时可用的驱动程序。因此,在最新的 SUSE Linux 版本发布时,当前标为“完全支持”的打印机不一定具有此状态。这样,数据库不一定可以指出正确的状态,只是提供大致估计而已。


11.1. 打印系统工作流程

用户创建一个打印作业。该打印作业包含有要打印的数据以及假脱机程序的信息,例如打印机的名称或打印机队列的名称,还可能包括过滤器的信息,例如打印机特定的选项。

每台打印机都有一个专用的打印机队列。假脱机程序储存着队列中的打印作业,直到所需打印机已做好接收数据的准备。打印机准备就绪后,假脱机程序通过过滤器和后端将数据发送到打印机。

过滤器将用户要打印的数据(ASCII、PostScript、PDF、JPEG 等)转换为打印机特定的数据(PostScript、PCL、ESC/P 等)。PPD 文件中描述了打印机的功能。PPD 文件包含打印机特定的选项以及在打印机上启用这些选项所需的参数。过滤器系统用于确保用户选择的选项被启用。

如果使用的是 PostScript 打印机,则过滤器系统将数据转换为打印机特定的 PostScript。这样做不需要打印机驱动程序。如果使用的是非 PostScript 打印机,则过滤器系统会使用 Ghostscript 将数据转换为打印机特定的数据。这样做需要一个适合您的打印机的 Ghostscript 打印机驱动程序。后端从过滤器接收打印机特定的数据,然后将其传递到打印机。