Ben*_*ey4 30 linux html pdf printing
我想将几个项目的源代码转换为一个可打印的文件,以保存在 USB 上并在以后轻松打印出来。我怎样才能做到这一点?
首先,我想澄清一下,我只想打印非隐藏的文件和目录(因此没有.giteg 的内容)。
要获取当前目录中非隐藏目录中所有非隐藏文件的列表,您可以运行该find . -type f ! -regex ".*/\..*" ! -name ".*"命令,如本线程中的答案所示。
正如在同一线程中所建议的那样,我尝试使用该命令制作文件的 pdf 文件,find . -type f ! -regex ".*/\..*" ! -name ".*" ! -empty -print0 | xargs -0 a2ps -1 --delegate no -P pdf但不幸的是,生成的 pdf 文件一团糟。
ter*_*don 48
我对你的问题很感兴趣,有点不知所措。此解决方案将生成一个漂亮的 PDF 文件,其中包含可点击的索引和颜色突出显示的代码。它将查找当前目录和子目录中的所有文件,并在 PDF 文件中为每个文件创建一个部分(请参阅下面的注释以了解如何使您的查找命令更加具体)。
它要求您安装以下内容(安装说明适用于基于 Debian 的系统,但这些应该在您的发行版存储库中可用):
sudo apt-get install texlive-latex-extra latex-xcolor texlive-latex-recommended
Run Code Online (Sandbox Code Playgroud)
如果您没有安装,这也应该安装一个基本的 LaTeX 系统。
安装这些后,使用此脚本创建包含源代码的 LaTeX 文档。诀窍是使用listings(的一部分texlive-latex-recommended)和color(安装的latex-xcolor)LaTeX 包。这\usepackage[..]{hyperref}就是使目录中的列表可点击链接的原因。
sudo apt-get install texlive-latex-extra latex-xcolor texlive-latex-recommended
Run Code Online (Sandbox Code Playgroud)
在包含源文件的目录中运行脚本
bash src2pdf
Run Code Online (Sandbox Code Playgroud)
这将创建一个all.pdf在当前目录中调用的文件。我用在我的系统上找到的几个随机源文件(特别是来自 源的两个文件)进行了尝试vlc-2.0.0,这是生成的 PDF 前两页的屏幕截图:

几点意见:
! -name "*~"了避免备份文件。我建议您使用更具体的find命令来查找您的文件,否则任何随机文件都将包含在 PDF 中。如果你的文件都有特定的扩展名(.c及.h为例),则应更换find像这样的东西在脚本
find . -name "*\.c" -o -name "\.h" | sed 's/^\..//' |
Run Code Online (Sandbox Code Playgroud)listings options,您可以完全按照您的需要进行调整。| 归档时间: |
|
| 查看次数: |
15557 次 |
| 最近记录: |