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ファイルが生成されました。中身も確認してみると、指定したテキストが書き込まれていました。
コメント