打印机操作

目录

23.1. 打印系统工作流程
23.2. 连接打印机的方法和协议
23.3. 安装软件
23.4. 设置打印机
23.5. 网络打印机
23.6. 图形打印接口
23.7. 从命令行打印
23.8. SUSE Linux Enterprise 中的特殊功能
23.9. 查错

SUSE Linux EnterpriseŽ 支持用许多类型的打印机进行打印,包括远程网络打印机。打印机可以用 YaST 或手动进行配置。启动和管理打印作业时既可以使用图形实用程序,也可以使用命令行实用程序。如果打印机未能按预期正常工作,请参见第 23.9 节 “查错”

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

可以根据接口(例如 USB 或网络)以及打印机语言对打印机进行区分。 购买打印机时,请确认打印机具有一个您的硬件上可用的接口(比如 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 驱动程序供这些打印机使用。有关更多信息,请参见第 23.9.1 节 “打印机没有标准打印机语言支持”

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

http://www.linuxprinting.org/

LinuxPrinting.Org 打印机数据库。

http://www.cs.wisc.edu/~ghost/

Ghostscript 网页

/usr/share/doc/packages/ghostscript/catalog.devices

包括的驱动程序的列表。

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

打印系统工作流程

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

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

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

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