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

我在我的应用程序上编写了大量的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?

谢谢!

搞定了。 在尝试了所有可能的工具直接从源生成之后,我回到了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 find . | grep html$ | sort -r > files.txt 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)时,您会感到非常震撼……

根据Sun JavaDoc FAQ,有几​​个选项 – 大多数是免费的,还有一两个商业产品。 请访问http://java.sun.com/j2se/javadoc/faq/index.html#print查看。

如果这个问题仍然存在,我可以使用它来链接我的ltxdoclet项目。

这是从LaTeX格式的源(通过JavaDoc插件)文档创建的,然后您可以通过PdfLaTeX生成PDF。

可选地,它还可以包括漂亮的源代码。

AurigaDoclet无法处理package.html。 有关修复,请参阅https://sourceforge.net/projects/aurigadoclet/forums/forum/339169/topic/1572199/index/page/1上的评论