web-dev-qa-db-ja.com

PDFをJavaDocから生成する方法(概要とパッケージの概要を含む))

私はアプリケーションに広範なJavaDocドキュメントを書き、overview.htmlおよびpackage.htmlファイルに多くの有用な情報を追加しました(前者のdoc-files/の図へのリンクを含む)。 MavenのJavadocプラグインは、標準のjavadocツールをうまく使用して、クラシックなJavaDocフレームセットを生成しますが、ここでPDFをドキュメント全体とともに生成する必要があります。

AurigaDoclet は非常にきれいなPDFを生成し、 DocFlex も機能させることができました。ただし、どちらも私のoverview.htmlファイルとpackage.htmlファイルを無視します(Mavenの内部と外部の両方で試行しました-PDFは一度だけです。長期的にはHTMLです)。

AurigaDocletでJava以外のファイルを再認識させる方法を知っている人はいますか?または、別の方法として、ソースコードまたはJavaDocで生成されたHTMLから適切な外観のPDF=

22
chesterbr

ばっちり成功。ソースから直接生成できるすべてのツールを試した後、 [〜#〜] htmldoc [〜#〜] に戻りました。これはJavaDocに対応していませんが、非常によく構築されているため、かなり使いやすいPDFを生成するには、いくつかの調整で十分です。

ここに私がそれをどのようにしたかについての段階的な説明があります:

  1. リリースページ ;からソフトウェアをダウンロードします。

  2. 従来のHTMLドキュメントを好みの方法で生成します(Ant、Maven、コマンドラインjavadoc-選択)。

  3. GUIはすばらしいですが、すべてのファイルを手動で追加するのは面倒な場合があるため、ドキュメントタイプを「Webページ」に設定して.bookファイルを作成し、生成されたjavadocのルートフォルダーからHTMLファイルの1つを追加します(たとえば、概要サマリー)。 html、誰でもやります、それはステップ5)の参照用です。 [出力]タブでPDF=形式を選択して名前を設定し、その他のオプション(ロゴ、色、ここにたくさんのかっこいいものをここに追加)を追加します)このプロジェクトを保存します(たとえば、 myjavadocpdf.book)そしてGUIを閉じます

  4. Javadoc内のすべてのHTMLファイルのリストを生成します。私は Cygwin のfindコマンドを使用してそれを行いました(私のDOS/cmdシェルの日はまだ長いです)、ファイルリストを取得する限り、あなたは好きなことを何でもできます。私の場合、find . | grep html$ | sort -r > files.txtトリックを行いました。 Windowsユーザーの場合、dir /s/b *.html > files.txtも同じようにする必要があります(ただし、\sと/s(次のステップでそのように表示される場合)。

  5. 手順3で生成された.bookファイルをお気に入りの純粋なテキストエディターで開きます(プログラマーとしては、強い意見を持っている必要があります。そうすれば、私の意見を自分に伝えることができます [〜#〜]ない[〜#〜] ;-))そして、ステップ4で生成されたリストをこの.bookファイルに追加します(ファイルのリストが最後に保持されるため、作業が非常に簡単になります)。グローバル検索/置換で必要な場合は、相対パスを修正することを忘れないでください(これが、ステップ3で少なくとも1つのファイルを追加する必要がある理由です。htmldocが予期するファイルパスパターンを確認するため)。

  6. 次に、ファイルを便利な順序で並べ替えます。最初に概要を、次にパッケージの説明と各クラス、最後に完全なインデックス、その他すべてを配置します。削除したファイルは外部リンク(つまり壊れたリンク)になるので、賢明に選択してください。

  7. .bookファイルを保存して、HTMLDOCで再度開きます。出来上がり:すべてのファイルが追加およびソートされました。生成をクリックします。それでおしまい!

画像をいじることができます(ヒント:スタイル/ CSSではなくHTMLの幅/高さを使用してください)。結局のところ、結果のファイルは驚くほど優れています。見栄えがよく、内部リンクと外部リンクを完全にナビゲートできます。ツールがJava(Doc)をまったく認識していないと考えると印象的です...

編集:ソフトウェアは現在、元の作者から無料です。更新されたリンク、ありがとう @ mohammed

22
chesterbr

Sun JavaDoc FAQによると、いくつかのオプションがあります。ほとんどが無料で、1つまたは2つの商用サービスも用意されています。 http://Java.Sun.com/j2se/javadoc/faq/index.html#print で確認してください。

2
MCory

とにかくこの質問にぶつかった場合は、これを使用して ltxdoclet プロジェクトをリンクできます。

これにより、ソースから(JavaDocプラグインとして)LaTeX形式のドキュメントが作成され、PdfLaTeXを通過してPDFを生成できます。

オプションで、きれいに印刷されたソースコードを含めることもできます。

2
Paŭlo Ebermann

AurigaDocletはpackage.htmlの処理に失敗します。修正については https://sourceforge.net/projects/aurigadoclet/forums/forum/339169/topic/1572199/index/page/1 にある私のコメントを参照してください

2
weberjn