我有一个程序,生成一个PDF作为输出。如果我使用Adobe查看器将此文件发送到打印机,它将按需要打印。特别是,应用程序正在打印标签,并且需要使用页面上的最后一个像素,即不使用任何边距。
我想试着让这个过程自动化。GhostScript似乎是一个合乎逻辑的选择。我使用了命令行
gs -dBATCH -dNOPAUSE -sDEVICE=psmono -sOutputFile=A4_300.xxx -sPAPERSIZE=a4 A4_Print.pdf
..。或者另一种
gs -dBATCH -dNOPAUSE -sDEVICE=ljetplus -sOutputFile=A4_300.xxx -sPAPERSIZE=a4 A4_Print.pdf
我可以通过LPR将输出文件A4_300.xxx发送到打印机,它几乎打印得很好,但是在所有的地方都少了6-8毫米,也就是说,有一个空白正在强制执行,而应该在那个区域打印的文本实际上被切断了。
纸的大小应该是a4,而且那部分是正确工作的。但是如何安排输出来填充整个页面呢?
输出设备是“某种HP激光打印机”,我还没见过物理设备。我测试过的一台类似的打印机能够处理"psmono
“(产生PostScript)和"ljetplus
”(二进制,但可打印)的输出。
有什么建议吗?
发布于 2010-07-30 19:17:07
首先:您确定您的打印机在物理上能够打印边缘到边缘吗?这是哪种打印机型号?
这很可能是打印机本身强制“缺6-8毫米在所有方面”。由于您看到边距“实际被切断”,这意味着打印机确实接收到完整的图像,但它将图像裁剪到PostScript打印机PPD (PS打印机描述文件)中出现的PostScript关键字。
如果您的打印机确实支持边到边打印,那么您可能需要将其作为默认的.
设置此操作的实际过程取决于您的打印机模型。应在打印机手册中加以说明。
如果你运气不好,这个设备根本不支持无边界打印。然后购买或找到一个你想做的模型;-)
更新:我错过了您的声明:“如果我使用Adobe将此文件发送到打印机,它将按需要打印。”由此,我得出结论,您的打印机必须支持无边界打印。
如果您的LPR客户端使用任何形式的PPD (就像通过CUPS ( f.e.)打印的情况一样),那么在这里查看我关于修改PPD(这也适用于Windows系统)的提示:
很可能你不需要修改你的Ghostscript输出,就像剪裁的印刷品显示的那样。
很可能你需要调整你的LPR客户端,这样它的“驱动程序”就不会破坏你想要发送到打印机的东西。
https://stackoverflow.com/questions/3372022
复制相似问题