设置文本格式以打印到激光打印机和行式打印机

设置文本格式以打印到激光打印机和行式打印机

我有一个大型的定制应用程序,用于在 Linux 系统上运行 Java 的客户端。

它产生许多输出(账单等),并自动在多台打印机上打印。它的设计方式是为每个用户定义一个表,指定分配给他的打印机。所有用户都坐在多个办公室的固定座位上,因此这张桌子不会发生(太大)变化。

以前,他们为较大的办公室配备了一些大型行式打印机,为较小的办公室配备了爱普生点阵打印机。

该应用程序会将每个账单生成为 txt 文件,并将其放置在文件系统目录中。我有一个循环运行的 bash 脚本,该脚本在每个目录中查找新文件并使用 lp 命令将其发送到打印,然后删除 txt 文件。它确定要发送到哪台打印机的方法很简单;打印机的名称与目录的名称相同。

经过长时间的使用,行式和点阵打印机逐渐老化,被激光打印机所取代。我更新了我的脚本,所有激光打印机名称和相应的目录名称都以“-PS”结尾,并且 lp 命令通过 enscript 将其转换为 PostScript。

现在,我正在考虑为账单添加一些格式。没什么花哨的,只是粗体标题和一些字体格式。

阅读 enscript,我发现我可以添加转义码,如下所示堆栈交换示例在这里给出。这样就可以满足这里的需求了。

但是,如果我将转义码添加到 txt 文件中,虽然它适用于激光打印机,但如果该用户已分配给行式或点阵打印机,则不会。该脚本使用普通 lp 来表示它们,而不通过 enscript 进行管道传输。

任何想法都会受到欢迎。

相关内容