Printing 重影脚本和页边距

Printing 重影脚本和页边距,printing,ghostscript,postscript,printer-control-language,Printing,Ghostscript,Postscript,Printer Control Language,我有一台HP Deskjet 5150 PCL兼容打印机,需要打印PostScript文件。如果我使用gv查看该文件,其边距很好。当我尝试使用:gs-dSAFER-dNOPAUSE-dBATCH-q-sDEVICE=hpdjportable-sOutputFile=/dev/usb/lp0 file.ps打印它时,左边距向右移动了大约6 mm。因此,页面最右边的6 mm被裁剪掉。我知道这个缺陷几乎不明显,但我不喜欢它。印刷品在其他方面非常公平 gs -dSAFER -dNOPAUSE -dBAT

我有一台HP Deskjet 5150 PCL兼容打印机,需要打印PostScript文件。如果我使用
gv
查看该文件,其边距很好。当我尝试使用:gs-dSAFER-dNOPAUSE-dBATCH-q-sDEVICE=hpdjportable-sOutputFile=/dev/usb/lp0 file.ps打印它时,左边距向右移动了大约6 mm。因此,页面最右边的6 mm被裁剪掉。我知道这个缺陷几乎不明显,但我不喜欢它。印刷品在其他方面非常公平

gs -dSAFER -dNOPAUSE -dBATCH -q -sDEVICE=hpdjportable -sOutputFile=/dev/usb/lp0 file.ps
非常感谢您的帮助。

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

这可能意味着纸张的可打印区域小于介质的大小,因此,如果您试图打印到边缘,则位会“脱落”。屏幕显示显然不存在此问题

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

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

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

-c "<</PageOffset [-18 0]>> setpagedevice" -f
-c“设置页面设备”-f
您应该将其作为最后一个选项,就在输入文件名之前。你几乎肯定需要对其中的数字进行干预,以使其正确无误