如何在 Linux/Unix 中打印文档并用订书机完成?

如何在 Linux/Unix 中打印文档并用订书机完成?

是否可以在 Linux/Unix 中使用 lp 命令打印文档并装订它?如果 *nix 中有其他方法,我愿意接受选择。

Linux:Oracle Linux 服务器版本 6.5

打印机:理光 MP C4504

我尝试了下面讨论中提到的“HPStaplerOptions=1StapleRightAngled”选项,但它不起作用。

在linux中使用lp打印多个文档并用订书机完成所有文档?

这是我尝试过的命令。

lp -c -d0321 -n1 -o "HPStaplerOptions=1StapleRightAngled" testpage.pdf

以下是报告的选项lpoptions -p 0321

auth-info-required=none copies=1 device-uri=lpd://print.company.com/0321?timeout=60 finishings=3
job-hold-until=no-hold job-priority=50 job-sheets=none,none marker-change-time=0
number-up=1 printer-info=0321 printer-is-accepting-jobs=true
printer-is-shared=true printer-location printer-make-and-model='Local Raw Printer'
printer-state=3 printer-state-change-time=1666715772 printer-state-reasons=none printer-type=4
printer-uri-supported=ipp://localhost:631/printers/0321

谢谢。

答案1

对于理光 MP C4504,开放打印数据库有多个可用的 PPD 文件。推荐的版本是基于 PDF 的版本,但由于您使用的是 Oracle Linux 6.5,因此您可能需要 PostScript 或 PCL-XL 版本;首先尝试 PDF 版本,看看它是否适合您。

从 OpenPrinting 数据库下载适当的 PPD 文件,然后使用

lpadmin -p 0321 -P /path/to/the/file.ppd

切换现有的打印队列以使用新的 PPD。

然后运行lpoptions -p 0321 -l:在其中一行上,它应该列出 Finisher 选项,例如类似

Finisher/Finisher: *NotInstalled FinRUBICONB FinVOLGADBK FinVOLGAD FinAMURBBK FinAMURHY

星号表示当前选择的选项。

在PPD文件中,该选项定义为:

*OpenUI *Finisher/Finisher: PickOne
*DefaultFinisher: NotInstalled
*Finisher NotInstalled/Not Installed: ""
*Finisher FinRUBICONB/Finisher SR3130: ""
*Finisher FinVOLGADBK/Finisher SR3240: ""
*Finisher FinVOLGAD/Finisher SR3230: ""
*Finisher FinAMURBBK/Finisher SR3220: ""
*Finisher FinAMURHY/Finisher SR3210: ""
*CloseUI: *Finisher

因此,显然FinRUBICONB可能是理光的内部项目名称,正式名称为“Finisher SR3130”。订书机通常是装订器单元的一部分:您需要确定打印机具有哪种类型的装订器单元,然后使用lpadmin -p 0321 -o Finisher=FinRUBICONB(或与您的实际装订器型号相匹配的任何内容)来指定打印机的装订器类型。

要了解打印机的装订器类型,请尝试使用打印机的控制面板打印配置报告:它通常包含已安装选件的列表,并且装订器类型应列在此处。或者,您可能需要进行一些物理检查:装订器通常是一个不同的模块,其型号在某处可见,尽管它可能位于门内或打印机后面。如果所有其他方法都失败,您可以一次尝试一种装订器类型,看看哪一种适合您并允许使用打印机+装订器具有的所有功能。

配置完成器类型后,您应该能够使用订书机。

订书机的选项也在 PPD 文件中定义,如下所示:

*JCLOpenUI *StapleLocation/Staple: PickOne
*OrderDependency: 100 JCLSetup *StapleLocation
*DefaultStapleLocation: None
*StapleLocation None/Off: "@PJL SET STAPLE=OFF<0A>"
*StapleLocation StaplessUpperLeft/Top left (stapleless): "@PJL SET STAPLE=STAPLELESSLEFTTOPSLANTPORT<0A>"
*StapleLocation StaplessUpperRight/Top right (stapleless): "@PJL SET STAPLE=STAPLELESSRIGHTTOPSLANTPORT<0A>"
*StapleLocation UpperLeft/Top left: "@PJL SET STAPLE=LEFTTOP<0A>"
*StapleLocation UpperRight/Top right: "@PJL SET STAPLE=RIGHTTOP<0A>"
*StapleLocation LeftW/2 at left: "@PJL SET STAPLE=LEFT2PORT<0A>"
*StapleLocation RightW/2 at right: "@PJL SET STAPLE=RIGHT2PORT<0A>"
*StapleLocation UpperW/2 at top: "@PJL SET STAPLE=TOP2PORT<0A>"
*StapleLocation CenterW/2 at center: "@PJL SET STAPLE=BOOKLET<0A>"
*JCLCloseUI: *StapleLocation

您还应该在输出中看到这些选项lpoptions -p 0321 -l。但是,由于这不是 HP 打印机,因此配置选项的措辞略有不同,并且没有以字母 为前缀HP

根据上面的 PPD 片段,语法类似于:

lp -d0321 -n1 -o "StapleLocation=UpperLeft" testpage.pdf

您可能必须尝试其他 StapleLocation 选项:特定的装订器单元可能只能实现其中的某些选项。

StapleLocation=CenterW是特定于小册子类型的整理器:我大胆猜测那些将是Fin*BK整理器。小册子装订器比非小册子装订器更复杂(=昂贵),因此除非确实需要,否则我不会期望找到小册子装订器。

http://localhost:631使用 Web GUI (或)设置打印机选项可能更方便https://localhost:631,或者使用其他一些 GUI 配置工具(如果已安装),但以上是仅使用命令行执行此操作的核心方法。它的优点是它始终有效,无论您是否有可用的 GUI 访问权限。

如果您的应用程序仅采用打印机队列名称,您可以使用该lpoptions命令为基本打印机队列定义多个“实例”/选项集(例如lpoptions -p 0321/stapled2side -o StapleLocation=whatever -o sides=two-sided-long-edge或其他),然后只需告诉应用程序使用打印机队列0321/stapled2side而不是基本队列0321。您可以为每个主队列定义多个实例,每个实例都有一组不同的选项。要列出您已定义的实例,您可以使用sudo grep Dest /etc/cups/lpoptions.

相关内容