打印整个 Java 项目的源代码

2022-09-01 11:19:03

我必须打印java项目的整个源代码。最终版本应如下所示:Eclipse: File -> Print。但是使用此功能,您一次只能打印一个文件。

有没有办法打印(或创建pdf / rtf)整个项目(所有*.java,*.xml,...文件) 与一个命令?

Im 在 Windows xp sp3 上使用 eclipse galileo


编辑:对于每个类/文件,页面应该(或多或少)如下所示:

C:\..\..\..\库提取器.java

1 package utils.libraries;
2
3 import java.io.File;
9
10 /**
11 * @
12 * @
13 * @
14 */
15 public class LibraryExtractor {
16
17 /**
18 * 
19 * 
20 *
21 * 
22 * 
23 *
24 *
25 */
26 public static void extranctLibrary(String library, File targetFile) throws
IOException, URISyntaxException {
27 targetFile.getParentFile().mkdirs();
28 if (!targetFile.exists())
29 targetFile.createNewFile();
30
31 ClassLoader classLoader = LibraryExtractor.class.getClassLoader();
32 InputStream in = classLoader.getResourceAsStream(library);
33 OutputStream out = new FileOutputStream(targetFile);
34
35 byte[] buf = new byte[1024];
36 int len;
37
38 while ((len = in.read(buf)) > 0)
39 out.write(buf, 0, len);
40
41 in.close();
42 out.close();
43 }
44 }
45

溶液:

  1. enscript (with Cygwin)

  2. Java2HtmlEclipse-Plugin(仅适用于 Europa)


答案 1

如果您不介意安装Cygwin或在Linux上运行,以下命令将执行您想要的操作:

enscript -r -2 --file-align=2 --highlight --line-numbers -o - `find . -name '*.java'` | ps2pdf - files.pdf

enscript是一个用于将文本文件转换为各种输出格式的程序;PostScript 是默认设置,但您也可以生成 HTML、RTF 和其他一些内容。该选项说在横向打印,每页两列(保存树),说每个新文件应该在自己的物理页面上开始,打开特定于语言的语法突出显示(它将尝试找出语言,或者你可以指定“java”),应该很明显,并将输出发送到标准输出(在那里它被管道传输到ps2pdf)。-r-2--file-align=2--highlight--line-numbers-o -

查找生成文件列表;在这里,我告诉它查找当前目录中的所有Java文件。输出作为参数传递给 enscript;对于“50-100个文件”,你应该没问题,但你可能需要阅读有关xargs的信息。您可以摆脱参数以生成所有文件的列表,或添加多个参数以向列表中添加更多文件类型;我不会使用“所有文件”方法,因为这样您将获得源代码管理文件。-name-name

ps2pdfenscript 获取 PostScript 输出,并将其转换为 PDF,您可以打印。


答案 2

如果你能负担得起花50美元购买Ultraedit,打开所有文件并打印出来......

有关打印的超编辑功能包括:

  • 打印预览
  • 打印行号
  • 打印命令不打印隐藏线
  • 页眉/页脚(带对齐命令)、边距和分页符
  • 打印彩色语法突出显示
  • 以横向或纵向模式在一张纸上打印 2 页
  • 显示器和打印机的单独字体选择(支持安装的所有字体,包括 True Type 字体)
  • 打印所有打开的文件

推荐