PDFDoclet

これまで、Javadocの出力を、無理矢理Wordに貼り付けてたりして納品書にくっつけてましたが、その作業をやる度に、「面倒だなぁ、なにか良いDocletないかなぁ?」と言っては、必ず「MIFDoclet」や「PDFDoclet」にぶち当たって、導入の面倒さに、結局時間が無くなり同じ作業を。。。って感じだったのですが、今回の納品は客先都合で少し伸びたこともあり、時間的余裕ができました!

そんなこんなでPDFDocletを導入してみました。

結果、、、素晴らしい!w

 

導入には一工夫必要です。その手順について覚書。

まず、問題はPDFDoclet自体はすでに開発が止まっているようです。そのため、自力でなんとかするのが基本です。

次に日本語の問題。SourceForgeのプロジェクトに、jarファイル自体はあるので、Docletを導入するのはそんなに大変ではないです。ただし、中にあるHtmlParserWrapper.javaの中身がUTF8で対応していなくて、日本語が化けるという問題があります。

この話題はこのスレッドを参照してください。

で、このスレッドの中にあるように、HtmlParserWrapper.javaの中身を変更します。

方法は以下の通り。

  1. pdfdoclet-1.0.3-all.jarをダウンロードして、解凍

    jar xvf pdfdoclet-1.0.3-all.jar

  2. ダウンロードしておいたpdfdoclet-1.0.3-allのソースファイルから、HtmlParserWrapper.javaを取得
  3. 上記スレッドのにあるパッチを充てるか、自分で編集
  4. コンパイル

    javac -classpath pdfdoclet-1.0.3-all.jar HtmlParserWrapper.java

  5. 作成された「HtmlParserWrapper.class」を解凍した中のものへ上書き
  6. 解凍したもののディレクトリ内で、jarを作成

    jar cvf pdfdoclet-1.0.3-all.jar .

元々のpdfdoclet-1.0.3-all.jarをクラスパスに含めることで、必要クラスは全てそろう。これがミソ。

で、これをEclipseに取込、ドックレットに「com.tarsec.javadoc.pdfdoclet.PDFDoclet」を指定し、ドックレットクラスパスに、上記で作成したjarファイルを指定する。

オプションで必要なのは

-pdf C:\DATA\Develop\javadoc.pdf

出力先指定をこれでします。

 

以上、やっと楽になった。。。w