Sphinx で PDF 作成 #sphinxjp

インストー

画像を入れたいので、Python Imaging Library (PIL) http://www.pythonware.com/products/pil/ もインストール。http://effbot.org/downloads/PIL-1.1.7.win32-py2.6.exe をダウンロードして実行。
rst2pdf - Project Hosting on Google Code http://code.google.com/p/rst2pdf/ から rst2pdf-0.16.tar.gz をダウンロードして python setuo.py install
http://code.google.com/p/rst2pdf/source/browse/trunk/doc/manual.txt を見ながら設定。

make.bat

make pdf 用のコードを追加。

conf.py

extensions に 'sphinx.ext.autodoc','rst2pdf.pdfbuilder' 追加。
# -- Options for PDF output -------------------------------------------------- 以下の貼り付け。
pdf_font_path = ['C:\WINDOWS\Fonts']
pdf_language = "ja"
pdf_stylesheets = ['sphinx','kerning','a4','ja'] にして、ja.json をプロジェクトのディレクトリへ作成。

ja.json

"wordWrap": "CJK" なんかも追加したかったけれど、ここにあるような*1エラーが出るのでフォントの指定だけ。
embeddedFontsで4つのフォントを指定しているけれど、それぞれがRegular, Bold, Italic, Bold Italicに相当するのかな? 4つ目のフォントにArial.ttfとか指定したらリンクになっている文字の日本語が化けた。単純に埋め込みたいフォントを列挙する訳じゃないのか? ここ *2 を見てみると単純に列挙しているだけみたいだけどな……。

ja.json

{
  "embeddedFonts" : [
    [
        "VL-Gothic-Regular.ttf",
        "VL-PGothic-Regular.ttf",
        "ipam.ttf",
        "ipam.ttf"
     ]
  ],
  "fontsAlias" : {
    "stdFont": "VL-PGothic-Regular",
    "stdBold": "VL-PGothic-Regular",
    "stdBoldItalic": "VL-PGothic-Regular",
    "stdItalic": "VL-PGothic-Regular",
    "stdMono": "VL-Gothic-Regular",
    "stdMonoBold": "VL-Gothic-Regular",
    "stdMonoBoldItalic": "VL-Gothic-Regular",
    "stdMonoItalic": "VL-Gothic-Regular",
    "stdSans": "VL-PGothic-Regular",
    "stdSansBold": "VL-PGothic-Regular",
    "stdSansBoldItalic": "VL-PGothic-Regular",
    "stdSansItalic": "VL-PGothic-Regular"
  }
}

参考

Sphinxを使ってPDFドキュメントを生成する - azuki note http://d.hatena.ne.jp/w650/20091120/1258703735
Sphinxを使ってPDFドキュメントを生成する(続き) - azuki note http://d.hatena.ne.jp/w650/20100216/1266287625
Sphinxで日本語PDFを生成する - 湘南ぱいそん http://d.hatena.ne.jp/MiCHiLU/20091009/1255065687

*1:Windows環境でSphinxを使って日本語PDFを作成するメモ - 記憶は削除の方向で http://d.hatena.ne.jp/re_guzy/20101012/p1

*2:rst2pdf拡張を使ったPDFファイル作成 http://sphinx-users.jp/cookbook/pdf/rst2pdf.html