PythonでPDFを作成したい場合はReportLabが便利

PythonでPDFを作成したい場合はReportLabを使うのが便利です。

使い方は次のような感じです。

#!/usr/bin/env python
# -*- coding: utf-8 -*-

from reportlab.pdfgen import canvas
from reportlab.lib.pagesizes import A4
c = canvas.Canvas('reportlab-sample.pdf', pagesize=A4)

# 直線
from reportlab.lib.units import cm
p = c.beginPath()
p.moveTo(2*cm, 2*cm)
p.lineTo(5*cm, 2*cm)
c.drawPath(p)

# 四角形
c.rect(4*cm, 4*cm, 1*cm, 1*cm)

# テキスト
from reportlab.pdfbase.pdfmetrics import registerFont
from reportlab.pdfbase.ttfonts import TTFont
registerFont(TTFont('M+ 1p:style=light', 'mplus-1p-light.ttf'))
c.setFont('M+ 1p:style=light', 24)
c.drawString(2*cm, 8*cm, u'こんにちは世界!')

c.stringWidth(u'こんにちは世界!')

c.save()

出力されるPDFファイルのサンプルはこちらです。

ReportLabは純粋なPythonで書かれたオープンソースのライブラリになっていますので、Webサービスに組み込んで使うことも簡単です。

リンク

ReportLab Toolkit – ReportLab.com
https://www.reportlab.com/software/opensource/rl-toolkit/

M+ FONTS
https://mplusfonts.github.io/

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です