「PythonでPDFを作成したい」
「PDF作成のためのPythonライブラリを検証している」
このような場合には、この記事の内容が参考となります。
この記事では、PDF作成ライブラリのReportLabについて解説しています。
本記事の内容
- ReportLabとは?
- ReportLabのシステム要件
- ReportLabのインストール
- ReportLabの動作確認
それでは、上記に沿って解説していきます。
ReportLabとは?
ReportLabとは、PDFを作成できるPythonライブラリです。
ReportLab自体は、オープンソースで公開されています。
ReportLab公式
https://www.reportlab.com/
ただ、ReportLabの公式サイトはかなりややこしいです。
公式サイトでは、有償版である「ReportLab PLUS」をメインにアピールしています。
そのため、ReportLab PLUSをReportLabと勘違いしてしまいそうです。
簡単に言うと、ReportLabはPDFを作成するためのエンジンになります。
そして、ReportLab PLUSはそのエンジンを利用して簡単にPDFを作成できます。
ReportLab PLUSを使うと、HTMLを書くような感じでPDFを作成できるとのこと。
その際にRMLという専用の言語を用います。
この記事では、ReportLabを対象に話を進めます。
だから、この記事ではRML言語は関係ありません。
あくまで、PDFを作成するエンジンとしてReportLabをインストールします。
有償版とも同じエンジンを利用できるのです。
以上、ReportLabについて説明しました。
次は、ReportLabのシステム要件を確認します。
ReportLabのシステム要件
現時点(2022年3月)でのReportLabの最新バージョンは、3.6.8となります。
この最新バージョンは、2022年3月2日にリリースされています。
サポートOSに関しては、以下を含むクロスプラットフォーム対応です。
- Windows
- macOS
- Linux
サポート対象となるPythonのバージョンは、以下となっています。
- Python 3.6
- Python 3.7
- Python 3.8
- Python 3.9
- Python 3.10
- Python 3.11
以下は、Python公式開発サイクルです。
バージョン | リリース日 | サポート期限 |
3.6 | 2016年12月23日 | 2021年12月23日 |
3.7 | 2018年6月27日 | 2023年6月27日 |
3.8 | 2019年10月14日 | 2024年10月 |
3.9 | 2020年10月5日 | 2025年10月 |
3.10 | 2021年10月4日 | 2026年10月 |
現時点(2022年3月)では、まだPython 3.11は開発版のみ公開されています。
それにまで対応しているということらしいです。
それだけ常にメンテナンスをしているというアピールかもしれません。
さすがに企業が開発しているだけはありますね。
まとめると、Python 3.6以降ならどこでも動くということです。
以上、ReportLabのシステム要件を説明しました。
次は、ReportLabをインストールします。
ReportLabのインストール
検証は、次のバージョンのPythonで行います。
$ python -V Python 3.10.2
まずは、現状のインストール済みパッケージを確認しておきます。
$ pip list Package Version ---------- ------- pip 22.0.4 setuptools 60.9.3 wheel 0.36.2
次にするべきことは、pipとsetuptoolsの更新です。
pipコマンドを使う場合、常に以下のコマンドを実行しておきましょう。
python -m pip install --upgrade pip setuptools
では、ReportLabのインストールです。
ReportLabのインストールは、以下のコマンドとなります。
pip install reportlab
ReportLabのインストールは、すぐに終わります。
終了したら、どんなパッケージがインストールされたのかを確認します。
$ pip list Package Version ---------- ------- Pillow 9.0.1 pip 22.0.4 reportlab 3.6.8 setuptools 60.9.3 wheel 0.36.2
依存しているのは、Pillowだけですね。
Pillowについては、次の記事で解説しています。
これだけ依存関係が少ないと、既存環境にも容易に導入できそうです。
ReportLabは、もっと多くのパッケージに依存していそうなイメージでした。
いい意味でそのイメージを裏切られました。
以上、ReportLabのインストールを説明しました。
次は、ReportLabの動作確認を行います。
ReportLabの動作確認
ReportLabの動作確認は、次のコードで行います。
from reportlab.pdfgen import canvas def hello(c): c.drawString(10, 800, "Hello World") c = canvas.Canvas("hello.pdf") hello(c) c.showPage() c.save()
上記コードを実行した結果、「hello.pdf」が作成されます。
PDFの内容は、以下。
ReportLabの動作確認は、これで十分でしょう。
マニュアルは充実しています。
ReportLab公式
https://www.reportlab.com/dev/docs/
興味のある方は、マニュアルを確認してみてください。
ただ、英語版しか見つけられませんでした。
以上、ReportLabの動作確認について説明しました。