wiki を PDF に変換するプラグインを入れたけど変換できない

trac を使う上で最大の障害になるのは、納品ドキュメントをどうするかってことじゃないかと思う。


職場でよく見かけるのは、 EXCEL で仕様書を書いて変更履歴シートに変更内容を数行で書いていくもの。それを VSS でバージョン管理するわけだけど、はっきり言ってどこがどう変更されたのかさっぱり分からん。trac なら diff がすぐに取れるのに・・・と思う。


そこで仕様書も trac で! とやりたいけど、そうなると納品するときが問題だ。
アプローチとしては

  • trac で仕様書を書き、HTMLを印刷。
    → 発注先が納得しないだろうなあ・・・
  • 基本的に trac で仕様書を書き、あるタイミングで EXCEL などに手動で移す。
    → 多分受け入られない。最終的に EXCEL になるんなら最初から EXCEL で書くほうが工数がかからない、という理由で。

とりあえずHTML印刷は無理だろう。かといって EXCEL への手動コンバートも無理っぽい。じゃあ自動コンバートする仕組みがあればいいのでは?と思い探していたらPDFに変換するプラグイン PageToPdfPlugin を見つけた。


これはいい、と思ってインストールしてみたんだけど、PDFが生成されない。Trac Hacks では生成できているので何かが足りないようだ。とりあえず手順をメモしておく。

trac 0.10dev のアップグレード

trac は r3305 からコンバートAPIができたらしい。PageToPdfPlugin はこのAPIを使っているわけだけど、r3305 では PageToPdfPlugin が動かなかったので、http://svn.edgewall.com/repos/trac/trunk から最新の r3462 をチェックアウトしてアップグレードした。

PageToPdfPlugin のインストール

http://trac-hacks.org/wiki/PageToPdfPlugin から pagetopdfplugin-r942.zip をダウンロード。解凍してできた setup.py を叩いて、trac.ini に以下の設定を追加する。

[components]
pagetopdf.pagetopdf.pagetopdfplugin = enabled

htmldoc のインストール

実際にPDFに変換しているのは HTMLDOC らしい。
http://www.easysw.com/htmldoc/software.php からインストーラをダウンロードできるけど、ライセンスを買わないとだめっぽい。とりあえず試用のライセンスを取ってパスを通してみた。


これでとりあえず PDF のリンクが出てくるようになって、ファイルのダウンロードもできる。が、ファイルサイズが 0KB になってしまう。原因は不明。
Trac Hacks の変換結果を見る限り、CSSとかは反映されないみたいなので、これ以上は追及しないつもり。バージョンアップしたら追いかけよう。