2

我有一个生成 PDF 作为输出的程序。如果我使用 Adob​​e 查看器将此文件发送到打印机,它会完全按照需要打印。特别是,该应用程序正在打印标签,并且要求使用页面上的每个最后一个像素,即没有任何边距。

我想尝试自动化这个过程。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,并且工作正常。但是我怎样才能安排输出填满整个页面呢?

输出设备是“某种惠普激光打印机”;我还没有看到物理设备。我测试过的类似打印机能够处理“ psmono”(生成 PostScript)和“ ljetplus”(二进制,但可打印)的输出。

请问有什么建议吗?

4

1 回答 1

2

首先:您确定您的打印机在物理上能够进行边到边打印吗?它是哪种打印机型号?

很可能是打印机本身强制执行“四面缺少 6-8 毫米”。由于您看到边距“实际被切断的区域”,这意味着打印机确实收到了完整的图像,但它会将图像裁剪为*ImageableAreaPostScript 打印机 PPD(PS 打印机描述文件)中显示为关键字的内容。

如果您的打印机确实支持边到边打印,那么您可能需要将其启用为默认值...

  • ...通过前面板菜单中的一些半秘密设置(如果您的打印机有这样的东西),或者...
  • ...通过从计算机的浏览器访问基于 Web 的打印机配置面板(如果您的打印机支持),或者...
  • ...通过 telnet、rsh、ssh 或 msh 登录打印机(取决于您的打印机是否允许这样做)。

设置它的实际过程取决于您的打印机型号。它应该在打印机手册中描述。

如果运气不好,该设备根本不支持无边距打印。然后购买或找到可以满足您需求的型号;-)


更新:我错过了您的陈述“如果我使用 Adob​​e 查看器将此文件发送到打印机,它会完全按照需要打印。” 由此我得出结论,您的打印机必须确实支持无边界打印。

如果您的 LPR 客户端使用任何形式的 PPD(例如通过 CUPS 打印的情况,fe),请在此处查看我关于修改 PPD(也适用于 Windows 系统)的提示:

很可能您不需要微调 Ghostscript 输出;正如裁剪的打印输出所示,这很好。

您很可能需要调整 LPR 客户端,以使其“驱动程序”不会破坏您要发送到打印机的内容。

于 2010-07-30T19:17:07.887 回答