3

我们有一个自定义应用程序,当在 Unix 下打印时,通过 Adob​​e 的 acroread Unix 命令将 PDF 文件管道化以生成 PostScript 文件,然后使用 lp 命令将其发送到打印机。我一直在处理一台行式打印机,一台旧的 Epson LX-300+,我们的一个客户使用它来打印连续支票表格——打印机在表格顶部生成了多余的空白边距并阻止我在预印表格的关键位置打印。

我已经尝试了几乎所有我能拿到的东西。我正在使用自定义 PPD,因此我可以设置这些连续表单所需的自定义页面大小。我什至尝试使用 lp -o raw 将原始文本打印到打印机,但它仍然会在顶部生成空白空间。

这是我添加到 PPD 以设置自定义页面大小的行:

*PageSize Checks/Checks: "<</PageSize[596 227]/ImagingBBox null>>setpagedevice"
...
*PageRegion Checks/Checks: "<</PageSize[596 227]/ImagingBBox null>>setpagedevice"
...
*ImageableArea Checks/Checks: "0 0 596 227"
...
*PaperDimension Checks/Checks: "596 227"

我什至尝试从以下位置修改 HWMargins 设置:

*HWMargins: 36 36 36 36

*HWMargins: 0 0 0 0

无济于事。

有什么限制我吗?我可以添加某种形式的 ESC/PCL/PJL 命令来覆盖打印机的硬件限制吗?请记住,这种打印机型号目前正用于打印支票,并且使用原始数据,尽管它是通过 Windows 进行的,而且我无法访问它使用的方法。

提前致谢。

4

1 回答 1

1

根据Epson LX-300 Impact Printer的用户手册,p. A-5,连续进纸表格上的最小上边距为 9.0 毫米(0.35 英寸),而单张纸上的最小上边距为 5.3 毫米(0.2 英寸)。软件给你的多余空白边距是否比这更大?

Epson LX-300 是一款 9 针冲击式打印机,使用 ESC/P 语言进行控制。它没有 PostScript 解释器。您确定acroread正在将 PostScript 语言输出发送到打印机吗?打印机可以从计算机接收字符数据或图像数据。听起来支票打印软件以字符数据模式使用打印机。我希望 Adob​​e 的acroread软件生成将打印机置于图像模式的输出。因此,acroread正在使用与支票打印大不相同的打印机模式。

我建议您尝试从acroread打印到打印机,尝试找到一个 PDF 文件,该文件以您寻求的边距打印。尝试在文字处理器或 Adob​​e Illustrator 中创作 PDF 文件。尝试设置 PDF 文件的页面大小和页边距。看看你是否可以让acroread在任何情况下使用你想要的边距。如果你不能,那么也许没有简单的方法可以在acroread上游使用你的应用程序来获得你想要的利润。

常见问题解答,常用的转义码是什么?, 给出了该语言的一些转义码。更多命令在用户手册第 A-10 页开始的部分中。常见问题解答补充说,“如果您需要使用高级转义码进行编程,您可以从 EPSON Accessories 购买 ESC/P 参考手册。”

您没有提到打印机是否在正确位置设置了表单穿孔。可能是,但以防万一,有一个常见问题解答,打印机没有从纸张上的正确位置开始。如何更改表单顶部?

Epson LX-300 Impact Printer 支持页面包含指向各种信息以及产品信息指南的链接。您可能会在那里找到其他有用的信息。祝你好运!

于 2012-11-28T07:43:06.473 回答