メモ

調べたり思いついたりしたことをメモします

Doxygenで綺麗な日本語の納品用PDFを出力する方法

後々ドキュメントを自動生成する目的で、C,C++等でコーディングするときはDoxygenJavaDoc用のコメントを記載することが多いです。

Doxygenは普通に使うとデフォルトではHTMLを出力してくれます。普段はそれでいいのですが、1ファイルでポンと渡せる方が便利な場合がありますよね。

DoxygenのHTML出力は大量のファイル群で出力されちゃうのですが、たまにそれだと困る事があるのです。たとえば

  • 客先へ納品するとき
  • 社外とか、チーム外の誰か他の人に渡す時
  • 印刷したいとき

のような場合です。PDFで出力できれば便利なのに、と思うのが人情です。

もちろんDoxygenはPDF出力ができますのでそこは問題ありません。 問題は日本語フォントが美しくなかったり、しおりが文字化けしたり、ハイパーリンクがうまく動作しなかったり、というトラブルが多くてなんだかもやもやしてしまう点にあります。

いくつか手段を模索した結果、たどりついたのは思いがけず簡単で安易な方法でした。

いったんRTFで書き出す

これです。Doxygen用の設定ファイルに、下記のような変更を加えればよいでしょう。

GENERATE_RTF           = YES
RTF_HYPERLINKS         = YES

これでRTFファイルが生成されてくれます。デフォルトでは refman.rtf というファイルが出来上がりました。

PDFに変換する

Microsoft WORD2010 を使いました。生成されたRTFをWORDで開き、Ctrl+Aで全選択してメイリオあたりへフォント変更。 その後、「名前を付けて保存」→「PDF形式」で保存できます。

PDF形式を選んだ時点で「オプション」ボタンが出てきますのでそこで「しおり」の出力設定なんかが可能です。

この方法で作成したPDFなら日本語環境でもかなり綺麗に表示できますので、納品用とかの用途で使用できるのではないでしょうか。