搞定了。在尝试了所有可能的直接从源代码生成的工具之后,我回到了HTMLDOC。它不是 JavaDoc 感知的,但它构建得非常好,一些调整就足以使它生成一个非常有用的 PDF。
以下是我如何做到这一点的分步描述:
在发布页面下载软件;
以您喜欢的方式生成您的传统 HTML 文档(Ant、Maven、命令行 javadoc - 您的选择);
GUI 很好,但是手动添加所有文件可能很麻烦,所以只需创建一个文档类型设置为“Web Page”的 .book 文件,从生成的 javadoc 的根文件夹中添加一个 HTML 文件(例如,overview-summary.txt)。 html,任何人都会做,这只是在第5步的参考)。在“输出”选项卡上选择 PDF 格式并为其设置名称,并为您的内容添加其他选项(徽标、颜色、这里有很多很酷的东西)。保存这个项目(比如,myjavadocpdf.book
)并关闭 GUI
在您的 javadoc 中生成所有 HTML 文件的列表。我是用Cygwin的 find 命令完成的(我的 DOS/cmd shell 时代已经结束了),但只要你得到一个文件列表,你就可以做任何你想做的事情。就我而言, afind . | grep html$ | sort -r > files.txt
成功了;对于 Windows 用户,dir /s/b *.html > files.txt
也应该这样做(但请记住,如果它们在下一步中出现,您可能必须将\
s替换为 s)。/
在您最喜欢的纯文本编辑器中打开在步骤 3 中生成的 .book 文件(作为程序员,您应该对此有强烈的意见,所以将我的意见保留给自己 -不是;-))并将在步骤 4 中生成的列表附加到此.book 文件(它在末尾保留文件列表,让生活变得非常轻松)。不要忘记修复相对路径,如果需要,使用全局搜索/替换(这就是为什么您需要在步骤 3 中添加至少一个文件 - 以查看 htmldoc 期望的文件路径模式);
现在您应该以方便的顺序对文件进行排序。我把我的概述放在第一位,然后是包描述和每个类,然后是完整的索引,最后是其他所有内容。请记住,您删除的任何文件都将成为外部(因此损坏)链接,因此请明智地选择;
Save your .book file and re-open it on HTMLDOC. Voila: all files added and sorted. Click on generate. That's it!
You may want to fiddle with images (hint: use HTML width/height, not style/css). In the end, the resulting file is surprisingly good: nice looking and fully navigable for internal and external links. Impressive when you consider that the tool is not Java(Doc) aware at all...
EDIT: software is now free from original author; updated links, thank you @mohammed