微调ghostscript PDF到PS的转换

时间:2010-07-30 13:43:16

标签: pdf printing ghostscript

我有一个程序可以生成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 mm,即有一个边距被强制执行,应该在该区域打印的文本实际上被切断了。

纸张尺寸应为a4,并且这一点正常工作。但是如何安排输出填满整个页面?

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

请问任何建议?

1 个答案:

答案 0 :(得分:2)

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

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

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

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

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

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


更新: 我错过了您的声明“如果我使用Adobe查看器将此文件发送到打印机,则会完全按照需要打印。”

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

很可能你不需要微调你的Ghostscript输出;裁剪打印输出显示它很好。

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