如何打印格式正确的代码(硬拷贝打印输出)

如何打印格式正确的代码(硬拷贝打印输出)

类似于在 Stack Overflow 上使用 markdown 创建monospace output,我该如何为我的程序做到这一点。

我尝试了 lp filename.txt 并很高兴地发现它能够使用本地网络打印机并“按原样”打印

问题是输出不是等宽的。

有没有比...更快的选择

1) copy the text
2) paste into a text doc
3) format the document as mono
4) print it 

我很想找到一些选择,例如lp filename.txt -format=mono;)

答案1

您可以使用 vim 编辑器漂亮地打印 vim 可以读取的任意文件。使用以下命令创建 PostScript 文件。

vim \
  -c 'hardcopy > output.ps' \
  -c quit <input_file>

如果您想要 PDF 文件,请添加&& ps2pdf output.ps到命令行。

您还可以编写一个小脚本,将当前剪贴板内容粘贴到临时文件中,在该文件上运行 vim,打印结果文件并删除临时文件。

答案2

这里最短的路径可能是使用a2ps,它默认生成等宽的后记。

可以a2ps用brew安装,iebrew install a2ps

根据其设置,它将直接将输出发送到 stdout 或 lp,并用-o.此外,还a2ps可以识别多种编程语言并漂亮地打印它们。

a2ps -o output.ps infile.text

--pro=color如果颜色可用,则使用:

a2ps --pro=color -o output.ps infile.text

对于 HTML 输出,我倾向于使用vim2html功能。

答案3

a2ps就是答案。我用brew安装了它:

brew install a2ps

现在我可以a2ps myfilename并且有效。

不幸的是,它以横向显示,如果我尝试将其设为纵向,它会被挤到左侧,而且很小,只占页面的 50%。 [更新 - 找到了使用参数 -1 修复此问题的方法(对于在一张纸上查找的页数 - 默认值为 2)

然而,随着景观的设计,它起作用了,并且代码具有fixed format我正在寻找的风格。

相关内容