如果您不介意安装Cygwin或在Linux上运行,则以下命令将满足您的要求:
enscript -r -2 --file-align=2 --highlight --line-numbers -o - `find . -name '*.java'` | ps2pdf - files.pdf
enscript
是一个用于将文本文件转换为多种输出格式的程序;Postscript是默认的,但您也可以生成HTML,RTF和其他一些。该
-r选项表示以横向打印,
-2即每页两列(保存树),
--file-align=2表示每个新文件应在其自己的物理页上开始,
--highlight打开特定于语言的语法突出显示(它将尝试找出该语言,或者可以指定“
java”),
--line-numbers应该很明显,然后
-o -将输出发送到standard-out(通过管道将其输出到 ps2pdf )。
find 生成文件列表;在这里,我告诉它在当前目录下找到所有Java文件。输出作为参数传递给 enscript ; 对于“
50-100个文件”,您应该可以,但可能需要阅读有关 xargs的信息
。您可以删除
-name参数以生成所有文件的列表,或者添加多个
-name参数以将更多文件类型添加到列表;我不会采用“所有文件”方法,因为那样您将获得源代码控制文件。
ps2pdf 从 enscript 获取Postscript输出,并将其转换为PDF,然后可以打印。



