Ghostscript 和页边距

Ghostscript and page margin

我有一台 HP Deskjet 5150 PCL 兼容打印机,我需要打印一个 PostScript 文件。如果我用 gv 查看文件,它的边距很好。当我尝试打印它时:

gs -dSAFER -dNOPAUSE -dBATCH -q -sDEVICE=hpdjportable -sOutputFile=/dev/usb/lp0 file.ps
左边距向右移动了大约 6 毫米。因此,页面最右边的 6 毫米被裁掉了。我知道这个缺陷几乎不引人注意,但我不喜欢它。印刷品在其他方面非常公平。

非常感谢任何帮助。

听起来您的打印机有硬件余量,这是一个根本无法打印的区域,通常是由于纸张处理硬件。

这可能意味着纸张的可打印区域小于介质的尺寸,因此如果您尝试打印到边缘,那么位 'drop off'。屏幕显示显然不会遇到这个问题....

通常使用 PostScript 的打印机要么使用包含可打印区域的 PPD,要么稍微重新缩放输入以适合。

现在,我怀疑 Ghostscript 的 PCL 输出只不过是一个位图,包裹着刚好足以使其打印的 PCL,这意味着它 假设它可以打印到边缘。因此,您的解决方案是稍微重新调整输出并可能在媒体上稍微移动它。

您可以使用几个不同的命令行选项中的任何一个来 select 不同的媒体大小,例如 DEVICEWIDTHPOINTSDEVICEHEIGHTPOINTS-g 您还需要 select -dFIXEDMEDIA(因此 PostScript 无法更改媒体大小)和 -dFitPage 使 GS 缩放内容以适应新大小。最后,您需要编写一些 PostScript 来稍微移动输出:

-c "<</PageOffset [-18 0]>> setpagedevice" -f

你应该把它作为最后一个选项,就在输入文件名之前。您几乎肯定需要修改其中的数字才能使其正确显示。