如何从JavaDoc生成PDF(包括概述和包摘要)

che*_*rbr 22 java pdf javadoc maven-pdf-plugin

我已经写在我的应用广泛的JavaDoc文档,并添加了大量的有用的信息overview.htmlpackage.html文件(包括对前者的插图中的链接doc-files/).Maven的Javadoc插件很好地使用标准的javadoc工具来生成经典的JavaDoc框架集,但现在我需要使用整个文档生成PDF.

AurigaDoclet生成非常漂亮的PDF,我也能够使DocFlex工作.然而,两者都忽略了我overview.htmlpackage.html文件(在Maven内外都尝试过 - PDF将是一次性的事情,因为从长远来看我宁愿拥有HTML).

有谁知道如何让AurigaDoclet重新识别我的非Java文件?或者,另一个是从源代码或JavaDoc生成的HTML生成一个看起来不错的PDF?

谢谢!

che*_*rbr 22

搞定了.在尝试了所有可能的工具直接从源生成之后,我回到了HTMLDOC.它不是JavaDoc感知的,但它的构建非常好,只需进行一些调整就可以生成一个非常实用的PDF.

下面逐步介绍我是如何做到的:

  1. 下载该软件的免费版本(官方网站版本需要许可证,但它是GPL版本,因此您可以找到免费的二进制文件,例如这个,这是一个简单而实用的Windows安装程序);

  2. 以您喜欢的方式生成传统的HTML文档(Ant,Maven,命令行javadoc - 您的选择);

  3. GUI很不错,但手动添加所有文件可能很麻烦,因此只需创建一个文档类型设置为"Web Page"的.book文件,从生成的javadoc根文件夹中添加一个HTML文件(例如,overview-summary. html,任何人都会这样做,它仅供参考步骤5).在"输出"选项卡上,选择PDF格式并为其设置名称,并在心脏内容中添加其他选项(徽标,颜色,很多很酷的东西).保存此项目(例如myjavadocpdf.book)并关闭GUI

  4. 生成javadoc中所有HTML文件的列表.我用Cygwin的find命令(我的DOS/cmd shell天很久)完成了它,但你可以做任何你想做的事,只要你得到一个文件列表.在我的情况下,find . | grep html$ | sort -r > files.txt做了伎俩; 对于Windows用户,dir /s/b *.html > files.txt应该这样做(但请记住\,/如果在下一步中出现这种情况,则可能必须用s 替换s ).

  5. 在您最喜欢的纯文本编辑器中打开在步骤3中生成的.book文件(作为程序员,您应该对此有很强的意见,因此会保留我对自己的意见 - ;-))并将步骤4中生成的列表附加到此.book文件(它将文件列表保留在最后,使生活变得非常简单).不要忘记修复相对路径,如果需要全局搜索/替换(这就是为什么你需要在步骤3中添加至少一个文件 - 以查看htmldoc期望的文件路径模式);

  6. 现在,您应该以方便的顺序对文件进行排序.我首先概述了我的概述,然后是包描述和每个类,然后是完整的索引,以及最后的所有其他内容.请记住,您删除的任何文件都将成为外部(因此已损坏)链接,因此请明智地选择;

  7. 保存.book文件并在HTMLDOC上重新打开它.Voila:添加和排序所有文件.点击生成.而已!

您可能想要摆弄图像(提示:使用HTML宽度/高度,而不是样式/ css).最后,生成的文件非常好:外观漂亮,可以完全导航到内部和外部链接.当您认为该工具根本不是Java(Doc)时,您会感到非常震撼......

  • 对于Mac OS上的用户,可以从http://code.google.com/p/rudix/wiki/htmldoc下载一个软件包.它没有GUI,所以你必须找到[.book文件的例子](http://sunsite.ualberta.ca/Documentation/Misc/htmldoc-1.8.23/htmldoc.book)并修改它.然后使用命令`htmldoc --batch htmldoc.book`生成pdf (3认同)
  • FYI能够在这里找到mac版本二进制文件:http://rudix.org/packages/htmldoc.html请注意它在Yosemite上有一个GUI (2认同)