ReportLabを使ってPythonでPDFに画像を貼り付ける

2009-12-30
このエントリーをはてなブックマークに追加

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の編集ができないので、テンプレートを用意しておいてそれを編集、という技が使えませんでした。帳票作成時これはつらい。

が、テンプレートを画像にしておけば無事に読み込めます。これで帳票の罫線を必死に書きまくらなくてすみます。

ありがたやありがたや。

C#でPDF

2007-12-31
このエントリーをはてなブックマークに追加

最近帳票出力が必要なWindowsアプリケーションの開発をやっています。帳票はPDF。ActiveReportとかを買うお金はありません。ということで、iText.NET

 

フリーなのにとってもよくできているのですが、いまいち思ったとおりに動いてくれない。まぁこれは僕のセンスの問題なのですが。。。

 

もうちょっとしたらTipsをまとめて書けそう。忘れないうちに書かないと。。。

Tags: , ,