将后记和原始数据打印到行式打印机会产生过多的顶部边距

标签 printing postscript cups

我们有一个自定义应用程序,当在 Unix 下打印时,它通过 Adob​​e 的 acroread Unix 命令通过管道传输 PDF 文件以生成 PostScript 文件,然后使用 lp 命令将其发送到打印机。我现在使用行式打印机有一段时间了,这是一台旧的爱普生 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 进行的,而且我无权访问它正在使用的方法。

提前致谢。

最佳答案

根据User Manual for the Epson LX-300 Impact Printer ,页。 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 上游的应用程序来获得您想要的利润。

FAQ, What are the most commonly used escape codes? , 给出了该语言的一些转义码。更多命令位于用户手册第 A-10 页开始的部分。 FAQ 补充说,“如果您需要使用高级转义码进行编程,您可以从 EPSON Accessories 购买 ESC/P 引用手册。”

您没有提到打印机是否在正确的位置设置了表格穿孔。可能是,但为了以防万一,有一个 FAQ, The printer is not starting at the right position on the paper. How can I change the top-of-form?

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

关于将后记和原始数据打印到行式打印机会产生过多的顶部边距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13591644/

相关文章:

c - PULMon 无法构建 (LNK2019)

java - 如何用Java打印Trie树?

java - 仅打印一次特定的打印语句

android - Android 的 Postscript 驱动程序?

python - 使用 python 的 win32print 模块打印 PDF 文档?

linux - cups arm交叉编译错误: unknown type name ‘gss_OID’

java - 我是使用对象和类的新手。如何从用户创建的类中打印?

matlab - 如何在 Matlab 图形中使用非 ASCII 字符(用于 LaTeX 文档)?

python - 在 Bitnami Odoo Stack 中安装依赖项

message - 如何获得 CUPS 作业停止的原因?