将终端显示导出为 PDF

将终端显示导出为 PDF

我想将我的终端的显示包含在投影仪演示中。然而,简单地截取屏幕截图会生成分辨率相当低的 png,在演示文稿中看起来很糟糕。如果我能以某种方式创建终端显示的 PDF,我会很高兴,这样图像在演示文稿中看起来清晰干净。作为注释,我正在 VIM 中查看一个文件,它应用了我想保留的非常好的语法突出显示。这就是为什么我不只是将文本复制并粘贴到文字处理器并另存为 PDF。有什么办法可以实现我想要的吗?

答案1

我会尝试使用 Vim Syntax->Convert to HTML 菜单选项将语法突出显示的代码编写为 HTML 文件。然后在浏览器中打开 HTML 并打印为 PDF 文件。如果您只想显示代码的一部分,当然可以编辑 HTML,或者使用 pdfcrop 来隔离感兴趣的区域。

答案2

您可以使用以下单行 vim 命令从 vim 中创建 .pdf 文件:

:hardcopy > %.ps | !ps2pdf %.ps && rm %.ps

笔记:

  • %当前文件名的简写,因此HelloWorld.C将打印到HelloWorld.C.pdf
  • 如果您还想保留中间 .ps 文件,只需省略&& rm %.ps,即可获得: :hardcopy > %.ps | !ps2pdf %.ps

此外,要更改呈现的字体,请设置 printfont执行硬拷贝命令。例如,选择 Courier 8:

:set printerfont=Courier:h8

综上所述,我选择将以下内容放入我的 .vimrc 文件中,以便我可以简单地执行命令:HardcopyPdf(也可以对文件中的选定范围进行操作):

set printfont=Courier:h8 "select the font to use when printing
command! -range=% HardcopyPdf <line1>,<line2> hardcopy > %.ps | !ps2pdf %.ps && rm %.ps && echo 'Created: %.pdf'

答案3

无论你用什么来截取屏幕截图,都会背叛你。使用不同的软件包(我更喜欢scrot在 Linux 上),或者使用操作系统内置的屏幕截图键。

答案4

您不需要屏幕截图,您需要文本抓取。突出显示窗口中的文本,然后使用固定宽度的终端字体将其粘贴到演示文稿中,它会为您完美缩放。如果原始软件显示中有奇怪的 ascii 艺术字符,您将需要完美匹配字体,以便代码能够正常工作。

未经测试:这可能对你有用:https://www.dokuwiki.org/plugin:xtermrtf

相关内容