ReportLabを使用し、PythonでPDF ファイルを生成する

ReportLabを使用し、PythonでPDF ファイルを生成してみます。

ReportLabモジュールは、PDFとグラフィックを生成するためのオープンソースのPythonのモジュールになります。

なお、ReportLabモジュールは、Pythonの標準ライブラリではありませんので、事前にインストールする必要があります。

■Python

今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)

■ReportLabをインストールする

ReportLabモジュールのインストールを行いますが、今回はpipを経由してインストールを行うので、まずWindowsのコマンドプロンプトを起動します。

pip install reportlab

起動後、上記のコマンドを入力し、Enterキーを押します。

なお、今回は、pythonランチャーを使用しており、Python Version 3.8.5にインストールを行うために、pipを使う場合にはコマンドでの切り替えます。

py -3.8 -m pip install reportlab

切り替えるために、上記のコマンドを入力し、Enterキーを押します。

Collecting reportlab
Downloading reportlab-3.5.55-cp38-cp38-win_amd64.whl (2.3 MB)
|████████████████████████████████| 2.3 MB 3.3 MB/s
Requirement already satisfied: pillow>=4.0.0 in c:\pg\python38\lib\site-packages (from reportlab) (8.0.1)
Installing collected packages: reportlab
Successfully installed reportlab-3.5.55

Enterキーを押すと、インストールが開始され、「Successfully installed」と表示されます。これが表示されれば、正常にインストールは完了となります。

■ReportLabを使用し、PDFファイルを生成する

インストールは完了となりましたので、ReportLabを使用し、PDFファイルを生成するスクリプトを書いていきます。

■コード

from reportlab.pdfgen import canvas

def hello(c):
    c.drawString(100,100, "Hello")
c = canvas.Canvas("hello.pdf")
hello(c)
c.showPage()
c.save()

helloという関数を作成し、引数としてc(canvas.Canvas(生成するPDFファイル))を渡します。

drawString()で括弧内には、第1の引数、第2の引数は、​PDF内の(X, Y) 座標を指定します。第3の引数に、生成するPDF内に書き込むテキストを指定します。

指定後、​showPage()で生成するPDF内のページを保存します。

最後にsave()でPDFファイルとして保存し、ファイルが生成されます。

■実行

今回のスクリプトを「pdf_generation.py」という名前で保存し、コマンドプロンプトから実行してみます。

実行してみると、カレントディレクトリ(作業ディレクトリ)にPDFファイルが生成されました。中身も確認してみると、指定したテキストが書き込まれていました。

コメント

タイトルとURLをコピーしました