JavadocをPDF形式で出力する方法

ネットで探し回っても情報が少なすぎ。。

AurigaDocletを使う方法しかないような気がする。

なんとなく動いてきたのでおさらいをメモしておきます。

環境

  • j2sdk1.4.2_12
  • WindowsXP
  • MiracleLinux3.0
  • Ant1.6

条件

  • Windows上で、Antが使えること
  • Linux上でpatchコマンドが使えること
  • Javadoc作成対象となるプログラムは、C:\hoge\sourceにあるものとする。

セットアップ

  • http://sourceforge.net/projects/aurigadoclet/ から、「AurigaDoclet 0.1b Released 」をクリックして、AurigaDoclet-0.1b.zip をダウンロード
  • http://sourceforge.net/projects/aurigadoclet/ から、「Patchesリンク」をクリック。
  • パッチ一覧画面から「Support for Japanese」をクリック。
  • 日本語パッチの説明画面がでるので、画面下の[Download]をクリック。AurigaDoclet-0[1].1b_ja.patch をダウンロード
  • ダウンロードしたAurigaDoclet-0.1b.zipを、C:\aurigadocletに展開する。
  • 展開内容の確認

C:\>tree aurigadoclet
とすると、以下のようなフォルダ階層になっている。

C:\AURIGADOCLET
├─bin
├─build
│  ├─classes
│  │  └─com
│  │      └─aurigalogic
│  │          └─doclet
│  │              ├─core
│  │              ├─util
│  │              └─writer
│  ├─includes
│  └─javadoc
│      └─html
│          └─com
│              └─aurigalogic
│                  └─doclet
│                      ├─core
│                      ├─util
│                      └─writer
├─docs
├─docsrc
├─etc
├─includes
├─lib
└─src
    └─com
        └─aurigalogic
            └─doclet
                ├─core
                ├─resources
                ├─util
                └─writer

日本語パッチのマージ

日本語パッチは自分でソースをマージしてビルドする必要がある。
patch形式のファイルはlinuxのpatchコマンドで適用する必要があるため、linux環境にファイルを移す。

今回は以下のようなパス構成としてコピーする(FTPとかSambaとかご自由に)

  • C:\aurigadoclet ⇒ /tmp/aurigadoclet
  • AurigaDoclet-0[1].1b_ja.patch ⇒ /tmp/AurigaDoclet-0[1].1b_ja.patch
パッチコマンドの実行
linux>cd /tmp/aurigadoclet
linux>patch -p0 -d . < ../AurigaDoclet-0[1].1b_ja.patch

これでパッチが適用された。

  • またWindows側にファイルを戻す
/tmp/aurigadoclet ⇒ C:\aurigadoclet

日本語パッチのビルド

ビルド前の準備
  • コピー

C:\aurigadoclet\src\com\aurigalogic\doclet\resources\FOP-userconfig_ja.xml
⇒C:\aurigadoclet\FOP-userconfig_ja.xml

  • リネーム(元のファイルは別名にしておく)

C:\aurigadoclet\src\com\aurigalogic\doclet\resources\xml2fo_ja.xsl
⇒C:\aurigadoclet\src\com\aurigalogic\doclet\resources\xml2fo.xsl

  • リネーム(元のファイルは別名にしておく)

C:\aurigadoclet\src\com\aurigalogic\doclet\resources\default_ja.css
⇒C:\aurigadoclet\src\com\aurigalogic\doclet\resources\default.css

  • 内容修正

C:\aurigadoclet\src\com\aurigalogic\doclet\resources\xml2fo.xsl の日本語が文字化けしているため、
utf-8対応のエディタで開き、修正する。(メソ?? ⇒ メソッド)など。

ビルド実行

<||
C:\aurigadoclet>ant -f build.xml
|

これで、C:\aurigadoclet\bin\AurigaDoclet.jarのタイムスタンプが更新されていればOK。

フォントメトリクス情報ファイルの作成

以下5つのコマンドを実行

java -cp C:\aurigadoclet\lib\batik.jar;C:\aurigadoclet\lib\fop.jar;C:\aurigadoclet\lib\jakarta-oro-2.0.6.jar;C:\aurigadoclet\lib\ss_css2.jar;C:\aurigadoclet\lib\Tidy.jar;C:\aurigadoclet\lib\xalan-2.0.0.jar;C:\aurigadoclet\lib\xerces-1.2.3.jar; org.apache.fop.fonts.apps.TTFReader -ttcname "MS Gothic" C:\Windows\Fonts\msgothic.ttc ///MS-Gothic.xml
java -cp C:\aurigadoclet\lib\batik.jar;C:\aurigadoclet\lib\fop.jar;C:\aurigadoclet\lib\jakarta-oro-2.0.6.jar;C:\aurigadoclet\lib\ss_css2.jar;C:\aurigadoclet\lib\Tidy.jar;C:\aurigadoclet\lib\xalan-2.0.0.jar;C:\aurigadoclet\lib\xerces-1.2.3.jar; org.apache.fop.fonts.apps.TTFReader -ttcname "MS PGothic" C:\Windows\Fonts\msgothic.ttc ///MS-PGothic.xml
java -cp C:\aurigadoclet\lib\batik.jar;C:\aurigadoclet\lib\fop.jar;C:\aurigadoclet\lib\jakarta-oro-2.0.6.jar;C:\aurigadoclet\lib\ss_css2.jar;C:\aurigadoclet\lib\Tidy.jar;C:\aurigadoclet\lib\xalan-2.0.0.jar;C:\aurigadoclet\lib\xerces-1.2.3.jar; org.apache.fop.fonts.apps.TTFReader -ttcname "MS UI Gothic" C:\Windows\Fonts\msgothic.ttc ///MS-UIGothic.xml
java -cp C:\aurigadoclet\lib\batik.jar;C:\aurigadoclet\lib\fop.jar;C:\aurigadoclet\lib\jakarta-oro-2.0.6.jar;C:\aurigadoclet\lib\ss_css2.jar;C:\aurigadoclet\lib\Tidy.jar;C:\aurigadoclet\lib\xalan-2.0.0.jar;C:\aurigadoclet\lib\xerces-1.2.3.jar; org.apache.fop.fonts.apps.TTFReader -ttcname "MS Mincho" C:\Windows\Fonts\msmincho.ttc ///MS-Mincho.xml
java -cp C:\aurigadoclet\lib\batik.jar;C:\aurigadoclet\lib\fop.jar;C:\aurigadoclet\lib\jakarta-oro-2.0.6.jar;C:\aurigadoclet\lib\ss_css2.jar;C:\aurigadoclet\lib\Tidy.jar;C:\aurigadoclet\lib\xalan-2.0.0.jar;C:\aurigadoclet\lib\xerces-1.2.3.jar; org.apache.fop.fonts.apps.TTFReader -ttcname "MS PMincho" C:\Windows\Fonts\msmincho.ttc ///MS-PMincho.xml
  • C:ドライブの直下に、5つのファイルが出来ているのを確認する。

MS-Gothic.xml
MS-Mincho.xml
MS-PGothic.xml
MS-PMincho.xml
MS-UIGothic.xml
が出来ていれば成功。

  • このファイルをC:\hoge\javadoc(=Javadocを作成する場所)に移動する。

PDF形式Javadocの生成

  • AurigaDocletを利用したJavadoc用ビルドファイル(例:C:\hoge\javadoc-aurigadoclet.xml)を作成する
<?xml version="1.0" encoding="UTF-8"?>
<project default="javadoc">
<target name="javadoc">

<property name="lib" value="aurigadoclet\lib" />
<!-- プログラムのビルドに必要なJarファイル -->
<property name="app.lib" value="C:\hoge\lib" />

<javadoc access="public" additionalparam="-fopconfigfile C:\aurigadoclet\FOP-userconfig_ja.xml -encoding Shift_JIS -format pdf -out .\javadoc\api.pdf" packagenames="com.hoge.app,hoge.com.app2"  sourcepath="source">
<doclet name="com.aurigalogic.doclet.core.Doclet" path="C:\aurigadoclet\bin\AurigaDoclet.jar"/>

<classpath>
	<fileset dir="${lib}">
		<include name="*.jar" />
	</fileset>
	<fileset dir="${app.lib}">
		<include name="*.jar" />
	</fileset>
</classpath>

</javadoc>
</target>
</project>
C:\hoge>ant -f javadoc-aurigadoclet.xml

C:\hoge\javadoc\api.pdf が出来ているのを確認する。

パラメータなど

ユーザガイドはこちらです。

http://aurigadoclet.sourceforge.net/docs/user-guide.html