首页 > 解决方案 > CUPS:如何在点阵打印机上修复右边距

问题描述

复古打印机日:我有一台旧的兼容 IbmPro 的点阵打印机,通过 USB 并行适配器连接到我的 Ubuntu 20.04 系统。效果很好!设置它的一个主要技巧:将 URI 设置为 /dev/usb/lp0 并确保 lp 用户在正确的组中以写入该 dev。我花了一段时间才弄清楚。我使用 IBMPro 通用打印机驱动程序,它很棒。其他关键提示:9600 波特、8 位、无停止位、硬件流控制。

剩下的一个问题:打印区域向左偏移了大约 0.5 英寸。我确定我知道发生了什么:拖拉机进给区域大约是 0.5 英寸,所以我需要以某种方式指出,不要计算拖拉机进给页边距内的区域。换句话说,整个页面宽度约为 9.5" 但仅打印 8.5" 并将其向右偏移 0.5"。

我尝试编辑 PPD 文件,包括更改 HWMargins 和 ParamCustomPageSize WidthOffset 中的值。这些似乎都没有任何影响。我已经阅读了一堆关于 PPD 文件的文档,只是不清楚该怎么做。我想我可以设置一个 9.5 英寸宽的自定义纸张尺寸,但我希望我的所有文档都相同,并通过在生成打印机输出时偏移所有内容来正确打印。

必须有一个简单的设置。

编辑:尝试了更多的东西,包括:转到打印机属性并转到作业选项。有一个左边距设置。我将它设置为 36 点或半英寸,然后打印。根据需要进行调整。但这没有用。我还尝试在 PPD 中进行此更改:

ImageableArea Letter/US Letter: "18 36 612 756"

那没有用。

标签: printingcups

解决方案


它是固定的。PPD 中 gs 行的参数顺序必须恰到好处,如何使其工作并不明显。经过多次试验和错误,这条线有效:

*FoomaticRIPCommandLine: "gs -q -dBATCH -dPARANOIDSAFER -dQUIET -dNOPAUSE &&                                                                         
-dNOMEDIAATTRS -dNOINTERPOLATE -sDEVICE=ibmpro%A%Z &&                                                                                                
-sOutputFile=- &&                                                                                                                                    
-c "<</PageOffset [36 0]>> setpagedevice" -f -"

它必须完全按照这个顺序。根据需要调整偏移值(在这种情况下,水平偏移为 36,垂直偏移为 0)。这真的应该更容易,因为在任何点阵打印机上调整偏移都是很正常的。我希望这个问题对这种情况下的其他人有用。是的,请注意上面一行中使用的 HTML 转义,它们是正确的。我在使用前尝试过',但没有奏效。一定是"

这确实需要付出很多努力才能弄清楚,尽管对于 PPD 文件经验丰富的人来说可能是显而易见的。


推荐阅读