SiiD BLOG ロゴ

PythonのPDF生成ライブラリ「reportlab」の使い方

PythonのPDF生成ライブラリ「reportlab」の使い方

この記事を書いた人

SiiD BLOG編集部

SiiD BLOG編集部

SiiD BLOG編集部にて、皆さんの学習やキャリアに役立つ記事を発信します! 普段は受講生の皆さん向けに、学習やキャリアの相談にのったりもしています。

reportlabはPythonでPDFドキュメントを生成するためのライブラリです。PDFを作成し、テキスト、グラフィックス、表、グラフなどの豊富なコンテンツをPDFファイルに組み込むことが可能です。reportlabはビジネスレポート、公式文書など、プロ級品質のPDFドキュメントを生成することができます。

reportlabの特徴

reportlabには以下のような特徴があります。

  • 描画機能: ベクターベースの描画機能により、精密なグラフィックスやテキストレンダリングを実現する。
  • ページレイアウト: ページのレイアウトとデザインを細かく制御し複雑な文書構造を構築できる。
  • テキスト処理: 複数のフォント、スタイル、配置をサポートし、テキストの流れや配置を精密に管理する。
  • グラフとチャート: 組み込みのグラフィックエンジンを使用して、様々な種類のグラフやチャートを生成できる。
  • 画像のサポート: JPEG、PNG、GIFなどの画像形式を文書に組み込むことができる。

reportlabの基本的な使い方

reportlabライブラリを使用してPythonでPDF文書を生成する基本的なチュートリアルを以下に示します。このチュートリアルでは、PDFの作成、テキストの追加、画像の挿入、そしてページに基本的な図形を描画する方法をカバーします。

1. reportlabのインストール

まず、reportlabを使用するためにライブラリをインストールする必要があります。これはpipを使用して簡単に行えます:

pip install reportlab

2. PDFファイルの生成

reportlabのcanvasクラスを使って、新しいPDFファイルを生成し、その上に描画を行います。

from reportlab.pdfgen import canvas

# 新しいPDFファイルを作成
c = canvas.Canvas("example.pdf")

3. テキストの追加

drawStringメソッドを使用して、PDFにテキストを追加します。座標は左下が原点(0, 0)です。

  • 水平座標(X軸): 原点(左下隅)からの右方向への距離を表します。値が大きくなるほど、右に移動します。
  • 垂直座標(Y軸): 原点からの上方向への距離を表します。値が大きくなるほど、上に移動します。
c.drawString(100, 800, "Hello, ReportLab!")

4. 図形の描画

線や図形を描画するには、line、rect(矩形)、circle(円)などのメソッドを使用します。

# 線を描画
c.line(100, 790, 300, 790)

# 矩形を描画
c.rect(100, 770, 200, 20)

# 円を描画
c.circle(150, 700, 50)

5. 画像の挿入

drawImageメソッドを使って、PDFに画像を挿入することができます。画像形式はJPEG、PNG、GIFなどがサポートされています。

c.drawImage("image.png", 100, 400, width=200, height=100)

6. PDFの保存

すべての描画操作が完了したら、saveメソッドを呼び出してPDFファイルを保存します。

c.save()

これで、example.pdfというファイルが同じ階層のディレクトリに生成され、指定したテキスト、図形、画像が含まれます。

生成されたPDFは以下のようなものになります。

reportlabによって生成されたPDF

まとめ

この記事では、reportlabを使ってPDFを生成し、その中にテキスト、図形、画像を追加する基本的な方法を紹介しました。reportlabは非常に柔軟で強力なライブラリで、さらに複雑なPDF文書の作成にも対応しています。公式ドキュメントなど参照することで、より高度な機能について学ぶことができます。

reportlabでのPDF生成は、帳票や資料の自動化といった具体的な用途と結びつくと理解が進みます。作りたいものから逆算して学べる場としてSiiDも用意しています。

AIプログラミングスクール「SiiD」について

AIプログラミングスクール「SiiD」は、未経験からITエンジニア転職を目指す方向けのオンラインスクールです。

SiiDの特徴

  • 現役エンジニアでYouTube登録者約13万人の「セイト先生」が代表兼主任講師
  • 採用側の実務知見(2,000人以上の選考・150名以上のエンジニア採用)にもとづく指導
  • 生成AIを取り入れた学習設計と、実務レベルのフルスタックWeb開発スキル
  • Workship CAREER(株式会社GIG)と連携した無料の転職伴走支援
  • 経済産業省認定のReスキル講座で、給付金の条件を満たせば実質105,600円〜
  • 学割あり(35%オフ)

こんな方におすすめ

  • 未経験・文系・社会人からITエンジニア転職を本気で目指したい方
  • 独学に限界を感じている方
  • 費用を抑えながら実務スキルと転職サポートを両立したい方

「未経験だから」とあきらめる必要はありません。採用する側を知り尽くしたプロが、給付金で負担を抑えながら内定まで伴走します。

シェアする

未経験からのエンジニア転職を本気で目指すなら「SiiD」

SiiDはYouTube 13万人のセイト先生が主任講師のAIプログラミングスクール。元人事部長&現役エンジニアによる徹底指導で、生涯年収を大きくアップさせませんか?

SiiDの詳細を見る