【发布时间】:2020-10-09 08:46:24
【问题描述】:
第一个问题
打印“BOLD”文本...尽可能使用lp。
示例:
echo -e "\e[1mBOLD\e[0m" | lp
将在下面的白纸上打印出来
1mBOLD0m
如何获得:
粗体
?
第二个问题
打印[font size=33]SIZED TEXT[/font],怎么样?
我现在知道的唯一方法是使用a2ps
示例:
a2ps -B --portrait --columns=1 --rows=1 --borders=no --font-size=18 --margin=0 text.txt | lp
上面的命令会打印出大尺寸的文字,但是肉眼仍然可以看到很大的空白。它太大了,不容错过。我想打印它,就像lp 打印在我的纸张边缘并在其上使用更大的字体。
答案摘要
基于我在这里得到的答案,并进行了测试。它证明printing a nice formatted and sized font 并不像打印echo 输出那么简单。这里应该考虑很多事情,例如边距、字体大小、字体格式,特别是支持lp 的插件。的确,大多数系统默认都带有lp,但没有aha,也没有wkhtmltopdf,这可能是因为人们可以在Abiword或任何文字处理软件中轻松完成。但对我来说,我在 bash 脚本中经常需要它。设置起来有点复杂,但是一旦设置好,它肯定比任何文字处理器都快。这里唯一无法避免的问题是边距,因为在我的情况下,默认情况下它带有一定数量的边距,比较left:top - 1:1.6cm,当字体变小时它会变宽,当字体变大时它会变薄。在文字处理器中可以轻松消除此类问题,但同样,我更喜欢速度和可接受的问题。从答案中,我们知道aha 将更新与font sizes 相关的功能,我不知道该功能会是什么样,但我很期待。
非常感谢所有参与这篇文章的人
【问题讨论】:
-
您必须按照您的打印机理解的方式对其进行编码。
-
这能回答你的问题吗? How does one output bold text in Bash?
-
通过使用 [stackoverflow.com/questions/2924697/… 现在它打印
1mBOLDBm唯一不同的是0和B... -
如果打印机能够理解 ANSI 转义序列,我会感到惊讶。您可能想查看 PostScript 格式。
-
我相信你会发现这个答案非常有用:SU: Enabling Bold and Color with LPT parallel printer