rst2pdfをWindowsで使ってみた

reStructuredTextからPDFを作成するrst2pdfというツールがあります。

インストール

インストールはWindowsだと依存モジュールがCで書かれていて少し面倒になりますが、MacLinux環境だとeasy_install一発で入ると思います。
特徴としては、

  • Pythonのモジュールだけで構成されていて、特別なツールが必要ない
  • 日本語でも使える
  • フォントの埋め込みができる
  • 設定がjson
  • Windows/MacOSX/Linuxどれでも使える

あたりでしょうか。日本語対応してて、フォントの埋め込みができるのは大きいです。
依存モジュールは、以下の通り。Python2.5で試しました。

PIL、reportlabWindows用のインストーラでインストールするとよいです。simplejsonは速度が必要なければCのモジュールは必要ない。どれも有名なモジュールなのでインストールではまらなかった。これも良いところ。

埋め込み用のフォントを手に入れる

フォントを埋め込むことになるので、ライセンスに問題のないIPAフォントVLゴシックあたりを入手してインストールしておきます。

日本語の設定を書く

jsonの形式で日本語用の設定ファイルを作成します。(ja.jsonという名前にした。)
以下は一例。Windowsのフォントファイル名はコマンドプロンプトで"dir %WINDIR%\Fonts"のようにすればわかります。

{
  "embeddedFonts" :
[["VL-Gothic-Regular.ttf","VL-PGothic-Regular.ttf","ipam.otf","verdanaz.ttf"]],
  "fontsAlias" : {
    "stdFont": "VL-PGothic-Regular",
    "stdBold": "VL-PGothic-Regular",
    "stdItalic": "VL-PGothic-Regular",
    "stdMono": "VL-Gothic-Regular"
  },
  "styles" : [
    ["base" , {
      "wordWrap": "CJK"
    }],
    ["literal" , {
      "wordWrap": "None"
    }]
  ]
}

あとは実行するだけ。

rst2pdf -s ja.json,perldoc.json --font-folder="f:\windows\fonts" tutorial.rst

きれいなPDFが出力されました。