如何使用ANSI转义打印包含文本的文件

时间:2013-02-26 16:52:10

标签: linux bash shell command-line

我想打印一个包含ANSI转义文本的文件。

这是文件内容(使用bash脚本生成):

\033[1m bold message example \033[0m
normal font message
  • 在终端中将文件打印到屏幕时,效果很好:

    cat example.txt
    

    所示:

      

    粗体消息示例

         

    普通字体信息

  • 但是当我尝试将其发送到打印机时出现问题:

    lp example.txt
    

    打印:

      

    1条消息example2m

         

    普通字体信息

有没有办法正确打印此文件?也许与groff(可以用来打印样式的手册页),但我没有设法得到任何有效的... ...

1 个答案:

答案 0 :(得分:1)

也许a2ps可以处理(但我不确定,你应该尝试)。

我宁愿建议改变使用ANSI escapes获取此类文件的方式(也就是说,也提供一些替代输出格式)。 我的意思是产生这样一个文件(或这样的输出)的程序可以产生更可打印的输出(可能通过生成一些中间形式,例如LaTeX,或Lout,或groff或HTML格式,然后分支适当的命令来打印它该程序还可以通过libharupoppler等直接生成PDF等。)

此外,它可能取决于您的打印机和驱动程序。