如何从命令行格式化文本文件并使用 a2ps 打印(字体大小和页面大小)

如何从命令行格式化文本文件并使用 a2ps 打印(字体大小和页面大小)

我有一台热敏打印机(80mm Logic Controls LR2000E),通过 USB 连接到我的 Debian 11 机器。我想使用打印机打印文本文件中的采购订单/报价。我需要能够从命令行执行此操作,因为它是脚本的一部分。

我从制造商的网站安装了 ppd 文件(https://logiccontrols.com/product-drivers/)。

默认情况下,此 ppd 仅允许指定一种纸张尺寸。我手动把它改成了80x300mm。

我可以通过 awk 格式化(自动换行等)并使用打印文本文件

lp table.txt

这会尊重 ppd 所描述的纸张尺寸,并打印列表: lp 的打印输出

但我想更多地控制输出,使用更小的字体,添加边框等,所以我尝试使用a2ps。在 a2ps.cfg 文件中,我添加了所需的页面大小:

# 80mm for BEMATECH LR2000E (in postscript points)
#      NAME     W      H     LLX   LLY   URX    URY
Medium: T80    280    850    25    55    219    560

但我不知道如何通过a2ps打印我的文本!几天来我一直在敲击键盘几个小时,但不知道在哪里可以找到更多信息。它总是打印生成页面的左下角而不是整个页面: 在此输入图像描述

如果我使用 -o table.ps 选项保存 a2ps ,它会生成看起来正确的输出,但它不适合页面。如果我在 atril(PDF 查看器)中打开 ps 文件,我可以确认文本在文件中(自动换行等),并且页面尺寸部分正确(80x353mm),但我无法以任何方式打印它。

a2ps 信息页面有很多关于 PrettyPrint 的内容,但关于纸张尺寸的内容却很少。

所以:

  1. 我应该使用其他方法吗?或者如果 a2ps 是可行的方法:
  2. 为什么输出的 ps 文件会增长 53mm?和
  3. 为什么我不能打印整个 ps 文件而只能打印它的尾部?

相关内容