1. 关于在 Oracle Solaris 操作系统中进行打印的简介
4. 使用 Oracle Solaris Print Manager 设置和管理打印机(任务)
12. 在 Oracle Solaris 操作系统中打印(参考)
打印过滤器是将文件的内容类型转换为目标打印机可接受的内容类型的程序。
LP 打印服务使用过滤器完成以下任务:
将文件从一种数据格式转换为另一种格式,以便可以在特定类型的打印机上将其正确打印
处理特殊的打印模式,如双面打印、横向打印、草稿质量打印和信函质量打印
检测打印机故障并通知 LP 打印服务,以便打印服务可以提醒用户和系统管理员
并不是每个打印过滤器都可以执行所有这些任务。由于每个任务都是打印机特定的,因此可以单独实现任务。
LP 打印服务提供了表 10-5 中列出的 PostScript 过滤器。过滤器程序位于 /usr/lib/lp/postscript 目录中。对于 PostScript 打印,通常只需在设置打印服务器时安装过滤器程序即可。Oracle Solaris Print Manager 会自动启用提供的过滤器。但是,如果管理其他打印机,则可能需要管理它们的打印过滤器。
要创建新的打印过滤器,必须编写打印过滤器程序并创建打印过滤器定义。过滤器包含输入类型、输出类型以及提供用于在过滤器内处理命令行参数的语言的复杂选项。有关更多信息和逐步说明,请参见创建新的打印过滤器。
仅在打印服务器上添加、更换、删除或恢复打印过滤器。
可以使用 lpfilter 命令管理可用过滤器的列表。有关过滤器的系统信息存储在 /etc/lp/filter.table 文件中。lpfilter 命令从过滤器描述符文件中获取要写入表中的有关过滤器的信息。提供的过滤器描述符文件(仅限 PostScript)位于 /etc/lp/fd 目录中。实际的过滤器程序位于 /usr/lib/lp 目录中。
对于可以定义的打印过滤器数目,LP 打印服务没有固定的限制。您可以删除不再使用的过滤器,以避免 LP 打印服务进行多余的处理。(LP 检查所有过滤器以查找适用于特定打印请求的过滤器。)在没有把握的情况下,请不要删除过滤器。
在添加、更改或删除过滤器时,可以覆盖或删除 LP 打印服务提供的一些原始过滤器。如有必要,可以恢复原始的过滤器组。您还可以删除已添加的任何过滤器。
SunOS 软件提供了一组缺省的 PostScript 过滤器。Oracle Solaris Print Manager 会自动将这些过滤器添加到打印服务器。与基于 LPD 的打印服务一起使用的一些 TranScript 过滤器具有等效的 SunOS 过滤器功能,但其他 TranScript 过滤器则没有。下表列出了缺省的 PostScript 过滤器并标识了等效的 TranScript 过滤器(如果有)。
表 10-5 缺省的 PostScript 过滤器
|
SunOS 软件不提供以下过滤器:
TEX
oscat (NeWSprint opost)
Enscript
为了替换 Enscript 而提供了 postreverse、postprint、postio 和 dpost 过滤器。
Oracle Solaris Print Manager 会将缺省的 PostScript 过滤器添加到打印服务器。如果这些过滤器不能满足您的打印需要,请参见如何创建新的打印过滤器。本节提供有关编写定制打印过滤器的信息。
角色包含授权和具有特权的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的"配置 RBAC(任务列表)"。
# lpfilter -f filter-name -F filter-definition
指定为打印过滤器选择的名称。
指定打印过滤器定义的名称。
有关更多信息,请参见 lpfilter(1M) 手册页。
# lpfilter -f filter-name -l
示例 10-9 添加打印过滤器
以下示例说明如何添加具有 daisytroff.fd 打印过滤器定义的 daisytroff 打印过滤器。
# lpfilter -f daisytroff -F /etc/lp/fd/daisytroff.fd
角色包含授权和具有特权的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的"配置 RBAC(任务列表)"。
# lpfilter -f filter-name -x
指定要删除的打印过滤器的名称。
删除指定的过滤器。
# lpfilter -f filter-name -l
您应该收到一条错误消息,指示指定名称的过滤器不存在。
示例 10-10 删除打印过滤器
以下示例说明如何删除 daisytroff 打印过滤器。
# lpfilter -f daisytroff -x
角色包含授权和具有特权的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的"配置 RBAC(任务列表)"。
# lpfilter -f filter-name -l
指定要查看其信息的打印过滤器。为 filter-name 指定 all 可查看有关所有可用打印过滤器的信息。
显示有关指定过滤器的信息。
显示有关指定的一个或多个打印过滤器的信息。
示例 10-11 查看有关打印过滤器的信息
以下示例说明如何请求有关 postdaisy 打印过滤器的信息。样例命令输出如下所示。
# lpfilter -f postdaisy -l Input types: daisy Output types: postscript Printer types: any Printers: any Filter type: slow Command: /usr/lib/lp/postscript/postdaisy Options: PAGES * = -o* Options: COPIES * = -c* Options: MODES group = -n2 Options: MODES group\=\([2-9]\) = -n\1 Options: MODES portrait = -pp Options: MODES landscape = -pl Options: MODES x\=\(\-*[\.0-9]*\) = -x\1 Options: MODES y\=\(\-*[\.0-9]*\) = -y\1 Options: MODES magnify\=\([\.0-9]*\) = -m\1
示例 10-12 查看有关系统上所有打印过滤器的信息
以下示例说明如何显示已添加到系统的所有打印过滤器。样例命令输出如下所示。
# lpfilter -f all -l | grep Filter (Filter "download") Filter type: fast (Filter "postio") Filter type: fast (Filter "postior") Filter type: fast (Filter "postreverse") Filter type: slow
示例 10-13 重定向有关打印过滤器的信息
以下示例说明如何将有关 daisytroff 过滤器的信息重定向到文件。如果无意中删除了过滤器定义,则此任务非常有用。
# lpfilter -f daisytroff -l > daisytroff.fd