【问题标题】:Bash Printing, how toBash 打印,如何
【发布时间】:2012-06-06 21:54:21
【问题描述】:

用 bash 编写了一个脚本。现在我需要将信息带入文本文件,例如在 PostScript 中,但有一个问题。我需要有一定长度的字符串,并在页面布局的整个宽度上拉伸或收缩字符串。我试过a2psenscript,但没有这样的选择。请告诉我这个问题的解决方案,也许在 Ghostscript 中。如何更改字母间距以填充线条?提前致谢!

例如:

输入

aaa
bbbb
ccccccc

输出

a  a  a
b b b b
ccccccc

【问题讨论】:

  • 我喜欢玩“猜猜我的剧本长什么样”。由于您没有发布任何代码,在这种情况下,我猜...您需要 fmt 命令。
  • fmtfold 命令不会拉伸或收缩文本。我不使用等宽字体。我需要通过更改字母间距来填充线条。

标签: bash printing ghostscript postscript


【解决方案1】:
sed -e 's/./& /g' -e 's/$/\\p/' < inputfile | groff -Tascii

使用 groff 进行调整,但 groff 只会调整单词,所以先使用 sed 让每个字符成为一个单词。如果您想要不同的字体或更好的打印等,您可以使用 groff 来输出 postscript。

【讨论】:

  • sed: -e expression #2, char 7: unterminated 's' command 分隔符丢失
【解决方案2】:

您的流程基本上分为三个步骤:

  1. 生成您的文本文件(例如您的 shell 脚本)

  2. 打印格式(可能转换为 Postscript,例如通过 a2ps,可能完全是其他东西,例如“troff”)

  3. 将格式化的结果输出到打印机(例如“lpr”)

【讨论】:

  • 我需要在字符中有一定长度的字符串,并在页面布局的整个宽度上拉伸或收缩字符串。用什么命令或程序我可以做到这一点?
  • 在 postscript 中,selectfont 和 setfont 操作符设置字体缩放。
猜你喜欢
  • 2020-04-06
  • 1970-01-01
  • 1970-01-01
  • 2020-10-09
  • 2014-07-07
  • 2015-01-11
  • 2014-04-14
  • 1970-01-01
  • 2012-10-23
相关资源
最近更新 更多