基板作りチェックリストその22
pythonのPDFライブラリ「ReportLab」を使ったpdfの生成の仕方
用紙サイズの指定は、reportlab.lib.pagesizesで定義されている
用紙サイズをCanvas作成に指定する。
デフォルトだとA4縦になっている
改ページにしたい場合は
showPageで、それまでにCanvasに対して行った操作を確定し、
ページを作成する。
saveを実行する事でPDFファイルの実体を作成可能になる
簡単な改ページのサンプルは以下
import os, sys rom reportlab.pdfgen import canvas from reportlab.pdfbase import pdfmetrics from reportlab.pdfbase.ttfonts import TTFont from reportlab.lib.pagesizes import A4, portrait fontname= "IPA Gothic" #フォントファイルを指定し、フォントを登録する pdfmetrics.registerFont(TTFont(fontname, './reportlab.zip/reportlab/fonts/ipag.ttf')) c = canvas.Canvas("hello.pdf") #1ページ目開始 c.setFont(fontname, 10) c.drawString(100, 700, u"1ページ") #1ページ目を確定 c.showPage() #2ページ目開始 c.setFont(fontname, 10) c.drawString(100, 700, u"2ページ") #2ページ目を確定 c.showPage() #pdfファイル生成 c.save() print "ok."
2ページ目を開始する時に
#2ページ目開始 c.setFont(fontname, 10)
としてフォントを再指定しているが、これで実行されてないと
そのページだけ文字化けを起こす
showPageを実行した後は、フォントを再指定する必要がある事が判明
次回は、日本語を含むpdfファイルを生成する