from reportlab.pdfgen import canvas
from reportlab.lib.units import cm
hoge = canvas.Canvas(“hoge.pdf”)
hoge.drawInlineImage(“/path/to/imagefile”,0,0,width=3.0*cm, height=3*cm)
hoge.showPage()
hoge.save()
ReportLabを利用しています。PythonからPDFを作成するライブラリはいくつかありますが、どうもこれが一般的っぽいので、まずはReportLabを使ってみました。日本語も使えるようなのでひとまず安心。後日日本語を使ったエントリーも書きましょう。
2行目は、位置や縦横の指定にセンチメートルを使うために必要です。これがないとピクセル指定になるようです。
drawInlineImageの第1引数が画像のパス。第2第3が描画座標。0,0は左下を意味します。左上だと思っていたのでちとつまづきました。ちなみに、ReportLabで作成したPDFはデフォルトでA4縦になります。というか、なってました。
ReportLabでは既存PDFの編集ができないので、テンプレートを用意しておいてそれを編集、という技が使えませんでした。帳票作成時これはつらい。
が、テンプレートを画像にしておけば無事に読み込めます。これで帳票の罫線を必死に書きまくらなくてすみます。
ありがたやありがたや。