打印整个java项目的源代码

r3z*_*n1k 27 java eclipse printing

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

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

我在windows xp sp3上使用eclipse galileo


编辑:对于每个类/文件页面应该(或多或少)看起来像这样:

C:\ ..\..\..\LibraryExtractor.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
Run Code Online (Sandbox Code Playgroud)

解:

  1. 随后(与Cygwin)

  2. Java2Html Eclipse-Plugin(仅适用于Europa)

kdg*_*ory 58

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

enscript -r -2 --file-align=2 --highlight --line-numbers -o - `find . -name '*.java'` | ps2pdf - files.pdf
Run Code Online (Sandbox Code Playgroud)

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

find生成文件列表; 在这里,我告诉它在当前目录下找到所有Java文件.输出作为参数传递给enscript ; 对于"50-100个文件",你应该没问题,但你可能需要阅读有关xargs的内容.您可以删除-name参数以生成所有文件的列表,或添加多个-name参数以将更多文件类型添加到列表中; 我不会使用"所有文件"方法,因为那样你将获得源代码控制文件.

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


Jua*_*nZe 6

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

关于打印的Ultraedit功能包括:

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


Gre*_*osz 6

我用Java2HtmlEclipse的过去.看看它是否符合您的需求.