我使用的是 Debian,它与 Ubuntu 类似。
他们有 7 台点阵打印机,其中一些很旧(例子),自 1979 年以来一直在使用,并且在打印文本时比许多喷墨打印机更快。
我相信它有自己的语言,因为将文本发送到串行端口(端口服务器)会打印垃圾。不过,我认为只打印大写英文(最多 95 个 ASCII 码)和希腊语,其余最多 127 个(我认为希腊语大写)。 (特殊芯片)
我认为发送英文大写字母会打印垃圾,但我不确定,会再试一次。
其他打印机与 ESC/P 兼容,我使用 Ghostscript 提供的通用 Epson 驱动程序。但是,我认为通过发送文本
lp -dpr1 filename
将文本打印为图形并更改打印机的字体(courier、times roman 等)或间距没有效果。
我想知道是否有任何解决方法?在 AIX 中,他们声称该lp
命令在打印时将输出作为文本打印,而 Cobol 程序将原始文本发送到 lp 打印机。然而,在 AIX 中,他们对打印机使用一些自定义过滤器,并且对点阵打印机有更多选项。
我想知道是否有办法避免文本的图形模式并更改字体。
最直接的方法是不使用驱动程序,只需从 Cobol 发送 ESC/P,但这需要太多工作。
答案1
我还没有测试过这个(我不太接近八十年代的 DEC 串行点阵打印机),但 CUPS 显然允许您使用以下命令将原始作业发送到打印机
lpr -o raw $FILE
显然,该作业必须使用打印机的本机命令语言,无论它是什么(纯文本应该可以)。
然而,有一些病理现象:如果“垃圾”是随机点(跨打印作业和/或跨打印机的非确定性),请检查打印机的(或多个打印机)字符 ROM 是否损坏。经过这么长时间,位腐烂是一个令人担忧的问题,尤其是对于 EPROM。由于您的打印机显然配备了定制的 ROM,因此这是有可能的。
如果所有打印机始终打印完全相同的输出,则显然不是一台打印机的 ROM。可以检查串口通讯参数是否正确。大多数 70 年代末和 80 年代初的打印机都会有一组 DIP 开关来进行配置。