系统管理指南:打印

管理表单

表单是按预先确定的格式打印信息的一张纸。与普通纸张材料不同,表单通常已预先打印了文本或图形。表单的常见示例包括公司笺头、发票、空白支票、收据和标签等。

术语表单具有以下两种含义: 物理介质(纸张)和向 LP 打印服务定义表单的软件。

LP 打印服务允许您控制表单的使用。本节提供有关添加、更改、删除、挂载表单以及限制对表单的访问的信息。

添加、更改或删除表单

添加表单时,会通知 LP 打印服务在其可用表单列表中包括该表单。还必须提供描述或定义表单所需的信息。虽然可以在添加表单时指定这类定义,但是它有助于首先创建定义再将其保存在文件中。然后可以通过编辑文件来更改表单定义。


注 –

不会随 LP 打印服务提供任何表单定义。


要更改表单,必须重新添加具有其他定义的表单。

对于可以定义的表单数目,LP 打印服务没有任何限制。但是,应该删除不再适用的表单。过时的表单可能导致打印服务进行不必要的处理。

Procedure如何添加表单

  1. 在打印服务器上,成为超级用户或同等角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. 添加基于表单定义的表单。


    # lpforms -f form-name -F /etc/lp/forms/form
    
    -f

    指定为表单选择的名称

    -F /etc/lp/forms/ form

    指定表单定义的名称。

    有关更多信息,请参见 lpforms(1M) 手册页。

    表单将添加到打印服务器的 /etc/lp/forms/form-name/describe 文件中。

  3. 通过检查以下命令的输出,验证是否添加了表单:


    # lpforms -f form-name -l
    

示例 10–14 添加表单

以下示例说明如何添加使用 medical.fmd 表单定义的 medical 表单。


# lpforms -f medical -F /etc/lp/forms/medical.fmd

另请参见

必须提供一台或多台打印机对表单的访问权限,然后才能使用表单。有关更多信息,请参见如何限制打印机对表单的访问

Procedure如何删除表单

  1. 在打印服务器上,成为超级用户或同等角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. 删除表单。


    # lpforms -f form-name -x
    
    -f

    它是要删除的表单。

    -x

    删除指定的表单。

    将从 /etc/lp/forms/form-name 文件中删除表单。

    有关更多信息,请参见 lpforms(1M) 手册页。

  3. 验证是否删除了表单。


    # lpforms -f form-name -l
    

    您应该收到一条错误消息,指示指定名称的表单不存在。


示例 10–15 删除表单

以下示例说明如何删除 medical 表单。


# lpforms -f medical -x

挂载表单

要打印表单,必须将纸张装入打印机,并使用命令挂载该表单。此命令通知 LP 打印服务提交到打印机的打印请求将要使用表单定义进行打印。

如果使用一台打印机进行不同类型的打印(包括表单),则应该执行以下操作:

挂载表单时,请确保已正确对齐该表单。如果为表单定义了对齐模式,则可以在挂载表单后要求按该模式重复打印。在调整打印机之前一直按该模式重复打印,以便对齐方式是正确的。

要在打印机上更改或停止使用表单时,必须通过卸载表单来通知 LP 打印服务。

Procedure如何卸载和挂载表单

  1. 在打印服务器上,成为超级用户或同等角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. 停止接受正在卸载当前表单的计算机上的打印请求。


    # reject printer-name
    

    printer-name 是正在卸载表单的打印机的名称。

    不允许新的打印请求(它可能不需要表单)进入打印机队列。

  3. 卸载当前表单。


    # lpadmin -p printer-name -M -f none
    

    此命令中的变量 printer-name步骤 2 中所用的变量相同。

    将当前表单从打印服务器的 /etc/lp/printers/printer-name /configuration 文件中删除。

  4. 从打印机中取出表单纸张。

  5. 为下一个打印请求装入新的表单纸张。

  6. 挂载表单。


    # lpadmin -p printer-name -M -f form-name[-a -o filebreak]
    -p

    指定要挂载表单的打印机。

    -M

    指定要挂载的表单的名称。

    -a -o filebreak

    (可选)使您可以打印为表单定义的对齐模式的副本(如果存在此定义)。

    -p printer-name

    要挂载表单的打印机。

    -M -f form-name

    要挂载的表单的名称。

    在打印服务器的 /etc/lp/printers/ printer-name/configuration 文件中添加指定的表单。

  7. 在打印机上开始接受打印请求。


    # accept printer-name
    

    打印机准备打印刚挂载的表单。

  8. 验证表单是否已挂载。


    # lpstat -p printer-name -l
    

    否则,请提交需要新表单的打印请求并检查打印机输出。


示例 10–16 卸载表单

以下示例说明卸载打印机 luna 上当前挂载的表单的过程。


# reject luna
destination "luna" will no longer accept requests
# lpadmin -p luna -M f none
# accept luna
destination "luna" now accepting requests


示例 10–17 挂载表单

以下示例说明在打印机 luna 上挂载 medical 表单的过程。


# reject luna
destination "luna" will no longer accept requests
# lpadmin -p luna -M f medical -a -o filebreak
# accept luna
destination "luna" now accepting requests

跟踪表单

LP 打印服务可帮助跟踪在每个打印机上挂载了哪些表单。打印服务还会在无法找到打印表单所需的说明时通知您。您负责创建表单说明,以及在每个打印机中挂载和卸载表单纸张。作为设置打印机的一部分或作为对来自 LP 打印服务的警报的响应,完成此任务。

用户可以指定他们希望打印作业的表单。作为超级用户,您可以挂载特定的表单,然后通知 LP 打印服务表单是可用的以及它所挂载的打印机。用户可以提交指定特定表单的打印请求。当 LP 打印服务收到请求时,它会向 root 发送警报消息,要求挂载表单。

定义要求挂载表单的警报

要求挂载表单的警报的请求方式与从 LP 打印服务请求其他警报的方式相同。有关警报的常规信息,请参见使用 LP 打印命令设置打印机故障恢复

Procedure如何设置要求挂载表单的警报

  1. 在打印服务器上,成为超级用户或同等角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. 设置要求挂载表单的请求警报。


    # lpforms -f form-name -A alert [-Q requests] [-W minutes]
    -f

    指定要为其设置请求警报的表单。

    -A alert

    指定在请求表单时将出现的警报类型。其中一些有效值包括 mailwritequiet。如果选择 mailwrite,则预定义的警报消息会指示挂载指定的表单。该信息包括已经设置为使用该表单的一台或多台打印机的名称。

    -Q requests

    指定必须有多少需要表单的打印请求排在队列中才能触发警报。如果不指定此选项,则在队列中仅有一个打印请求时就会出现警报。

    -W minutes

    指定将出现警报的间隔时间(以分钟为单位)。如果不指定此选项,则发送警报一次。

    请求警报将添加到打印服务器的 /etc/lp/forms/form-name/alert.sh 文件中。

  3. 验证是否已为表单添加了警报。


    # lpforms -f form-name -A list
    

    或者,如果您设置的用于触发警报的打印请求数较小,请提交打印请求以满足最低要求。请确保收到了要求挂载表单的警报。


示例 10–18 设置要求挂载表单的警报

以下示例说明当 letterhead 的 10 个打印请求驻留在打印队列中时,如何将 letterhead 表单的电子邮件警报设置为每 5 分钟出现一次。


# lpforms -f letterhead -A mail -Q 10 -W 5


示例 10–19 设置控制台窗口警报

以下示例说明当 letterhead 的 5 个请求驻留在打印队列中时,如何将 letterhead 表单的控制台窗口警报设置为每 10 分钟出现一次。


# lpforms -f letterhead -A write -Q 5 -W 10


示例 10–20 取消设置请求警报

以下示例说明如何取消设置 invoice 表单的请求警报。


# lpforms -f invoice -A none

检查表单

为 LP 打印服务定义了表单后,可以使用以下两个命令之一检查表单。所选的命令取决于要检查的信息类型。

如果您无法确定现有表单的名称,则可以通过列出 /etc/lp/forms 目录的内容来查看表单名称。

Procedure如何查看有关表单的信息

  1. 在打印服务器上,成为超级用户或同等角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. 请求有关表单的信息。


    # lpforms -f form-name -l
    
    -f

    指定要查看其信息的表单。为 form-name 指定 all 可查看有关所有可用表单的信息。

    -l

    列出指定的表单。

    显示有关指定的一个或多个表单的信息。


示例 10–21 查看有关表单的信息

以下示例说明如何显示有关 medical 表单的信息。


# lpforms -f medical -l
Page length: 62
Page width: 72
Number of pages: 2
Line pitch: 6
Character pitch: 12
Character set choice: pica
Ribbon color: black
Comment:
Medical claim form

以下示例说明如何将有关 medical 表单的信息重定向到文件。此命令可为表单创建表单定义。如果无意中删除了表单定义,则此命令非常有用。


# lpforms -f medical -l > medical.fmd

Procedure如何查看表单的当前状态

  1. 登录到打印服务器。

  2. 请求有关表单的当前状态的信息。


    $ lpstat -f form-name
    

    -f 选项指定要查看其当前状态的表单。为 form-name 指定 all 可查看所有表单的当前状态。

    显示有关指定的一个或多个表单的当前状态的信息。


示例 10–22 查看表单的当前状态

以下示例说明如何显示 medical 表单的状态。


$ lpstat -f medical
form medical is available to you

限制对表单的访问

您可以控制哪些打印机和哪些用户可以访问在网络上可用的部分或所有表单。例如,您可能希望仅有支付薪水和帐款的部门的人员才能打印支票表单。此外,您还可能希望支票表单仅在某些打印机上可用。

有关更多信息,请参见如何限制用户对表单的访问。要限制打印机对表单的访问,请参见如何限制打印机对表单的访问

Procedure如何限制用户对表单的访问

  1. 在打印服务器上,成为超级用户或同等角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. 允许或拒绝用户对表单的访问。


    # lpforms -f form-name -u allow:user-list | deny:user-list
    
    -f

    指定要为其创建允许用户访问列表或拒绝用户访问列表的表单的名称。

    -u allow:user-list

    表示要添加到允许用户访问列表的用户。使用逗号或空格来分隔用户登录 ID。如果使用空格,请用引号将 ID 列表引起来。

    表 6–6 提供了 user-list 的有效值。

    -u deny:user-list

    表示要添加到拒绝用户访问列表的用户。使用逗号或空格来分隔用户登录 ID。如果使用空格,请用引号将 ID 列表引起来。表 6–6 提供了 user-list 的有效值。

    指定的用户将添加到打印机服务器上以下文件之一中的指定表单的相应用户访问列表:

    • /etc/lp/forms/form-name /allow

    • /etc/lp/forms/form-name /deny

  3. 验证是否正确设置了允许用户访问列表和拒绝用户访问列表。


    # lpforms -f form-name -l
    

示例 10–23 允许用户访问表单

以下示例说明如何仅允许用户 nathanmarcia 访问 check 表单。


# lpforms -f check -u allow:nathan,marcia


示例 10–24 拒绝用户访问表单

以下示例说明如何拒绝用户 jonessmith 访问 dental 表单。


# lpforms -f dental -u deny:jones,smith

Procedure如何限制打印机对表单的访问

  1. 在打印服务器上,成为超级用户或同等角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. 允许或拒绝在打印机上使用表单。


    # lpadmin -p printer-name -f allow:form-list | deny:form-list
    
    -p

    指定要为其创建允许表单列表或拒绝表单列表的打印机的名称。

    -f allow: form-list

    指定要添加到允许列表的表单名称。使用空格或逗号来分隔多个表单名称。如果使用空格来分隔表单名称,请用引号将表单名称的列表引起来。

    -f deny: form-list

    它是要添加到拒绝列表的表单名称。使用空格或逗号来分隔多个表单名称。如果使用空格来分隔表单名称,请用引号将表单名称的列表引起来。

    将指定的一个或多个表单添加到打印服务器上以下文件之一中的允许表单列表或拒绝表单列表:

    • /etc/lp/printers/printer-name/form.allow

    • /etc/lp/printers/printer-name/form.deny

  3. 验证是否正确设置了允许表单列表和拒绝表单列表。


    # lpstat -p printer-name -l
    

示例 10–25 允许打印机访问表单

以下示例说明如何允许打印机 luna 仅访问 medicaldentalcheck 表单。


# lpadmin -p luna -f allow:medical,dental,check


示例 10–26 限制打印机访问表单

以下示例说明如何拒绝打印机 luna 访问 medicaldentalcheck 表单。


# lpadmin -p luna -f deny:"medical dental check"