我们办公室里有大约 15 台打印机,每台都有不同的品牌或型号,需要不同的驱动程序,而且位置也各不相同,从办公桌到休息室都有。因此,许多计算机只能访问少数可用的打印机,当需要更换打印机时,这不可避免地会导致许多人心烦意乱,无法打印。
我的一个朋友建议我们使用打印机服务器(CUPS)。我一直在研究 CUPS,并安装了它,但我不明白它如何解决问题。
从我所看到的,它只是一个花哨的打印机桥,除了记录一些我不需要的数据并增加系统的复杂性之外,它对我没有任何作用。注意:办公室里的所有打印机都是网络打印机。
我是不是漏掉了什么?CUPS 中是否有办法让 Windows 和 Mac 客户端使用通用驱动程序将打印作业发送到服务器,同时选择目标打印机?如果是,我该如何在 CUPS 端进行设置,以及它在客户端如何工作?如果没有,是否有任何软件(最好是低成本或免费的)可以满足我的需要?
答案1
CUPS 至少可以通过三种方式简化打印机管理:
- CUPS 可以使打印机更换对客户端透明。
- 可以集中配置多个队列/驱动程序默认值。
- CUPS 提供集中会计和供应计费。
透明管理
无论是单独使用 CUPS(使用 IP 打印)还是通过 SAMBA 使用 Point'n'Print(它还允许您将驱动程序推送到客户端,但当它不起作用时可能会很麻烦),都请设置打印队列;使用诸如“First Floor Copier”之类的名称,而不是品牌和型号。使用通用 PostScript 驱动程序将打印机安装到工作站。
现在,当您想要更换打印机时,只需更换 CUPS 中的驱动程序即可完成 - 客户端仍然使用与通用驱动程序相同的队列。
如果您已设置好,您还可以使用启动脚本来安装打印机,这样您不必最初访问每个客户端。
在 Windows 上安装 Point'n'Print 打印机的 VBScript 类似如下:
Dim oNet
oNet = WScript.CreateObject("WScript.Network")
On Error Resume Next ' Ignore if we're not on the LAN - important for laptops
oNet.AddWindowsPrinterConnection "\\sambaserver\MyPrinterQueue", "MyPrinterName"
OS X 和 Linux 的安装非常简单,只需将 client.conf 放入 /etc/cups 目录即可(这将安装所有 CUPS 打印机;如果您所在的大型组织使用单个 CUPS 服务器,则可能不太理想)。在大型组织中,为每个部门保留一个 Printers.conf 文件,并将其放入 /etc/cups。
如果您有供人们带回家的 OS X 笔记本电脑,请为他们提供一个“切换打印机”脚本,以便根据需要添加和删除 client.conf;在工作时,它会安装工作打印机,在家时,他们可以使用他们在家里安装的任何打印机。
多个队列
如果需要,您可以为每台打印机创建单面和双面队列(和/或灰度和彩色队列)。或者,每台打印机一个队列,默认设置为双面和灰度,这样可以减少安装的打印机数量,并让人们选择花更多的钱。
当然,所有这些也可以在客户端完成,但为什么要做多次呢?
集中会计
如果您的组织向各部门或用户收取打印费用,那么会计部门可能会安排某人登录每台打印机,获取数据并编制完整的打印机使用情况列表。CUPS 具有一些内置的配额管理功能,并且还有第三方后端(如 Pykota)提供功能更全面的会计系统。
CUPS 中是否有一种方法可以让 Windows 和 Mac 客户端使用通用驱动程序将打印作业发送到服务器,并选择目标打印机?
有一些工具可以根据打印机可用性/最低成本/等自动安排打印作业(例如 PaperCut),但据我所知,没有任何免费或开源的工具。