0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PythonでPDFを読み取る:テキスト、画像、文書プロパティの抽出

Last updated at Posted at 2025-06-06

日々のデータ収集や文書アーカイブ、情報抽出の過程において、PDF形式はそのレイアウトの固定性と内容の安定性から広く使用されています。Python開発者がPDFの内容を自動的に抽出したい場合、使いやすく機能が充実したライブラリの選定が極めて重要です。

本記事では、Pythonを使用して、以下の3つの主要なPDF操作方法を紹介します:

これらの機能は、情報抽出、電子文書管理、文書検索システムなどの場面で活用できます。

本記事では、無料の Free Spire.PDF for Python を使用しています。pip を使用してインストール: pip install spire.pdf.free


PythonでPDFテキストを抽出する

PDF内のテキストを抽出することは、情報処理の基本となる作業です。Spire.PDFPdfTextExtractor クラスを提供しており、ページごとにテキストを抽出することができます。また、抽出モードも設定可能です。

操作手順:

  1. PdfDocument を作成し、PDFファイルを読み込みます
  2. 各ページをループ処理して PdfTextExtractor を使用します
  3. 抽出オプション(簡易抽出モードなど)を設定します
  4. テキストを累積して出力します

コード例:

from spire.pdf import PdfDocument, PdfTextExtractor, PdfTextExtractOptions

# PDFドキュメントの読み込み
pdf = PdfDocument()
pdf.LoadFromFile("sample.pdf")

all_text = ""
# ページごとに処理
for pageIndex in range(pdf.Pages.Count):
    page = pdf.Pages.get_Item(pageIndex)
    text_extractor = PdfTextExtractor(page)
    options = PdfTextExtractOptions()
    options.IsExtractAllText = True
    options.IsSimpleExtraction = True
    all_text += text_extractor.ExtractText(options)

# 結果を出力
print(all_text)

PDF文書(元ファイル)

PythonでPDF文書を読み取る例

抽出されたPDFテキスト

PythonでPDFテキストを抽出


PythonでPDF画像を抽出する

PDFファイルには、図版・ロゴ・透かし画像などが含まれていることがあります。Spire.PDFの PdfImageHelper クラスを使えば、ページ内に埋め込まれている画像を簡単に抽出・保存できます。

操作手順:

  1. PDFファイルを読み込み、ページを取得します
  2. PdfImageHelper.GetImagesInfo() で画像情報を取得します
  3. 取得した画像をファイルとして保存します

コード例:

from spire.pdf import PdfDocument, PdfImageHelper

# PDFファイルを読み込み
pdf = PdfDocument()
pdf.LoadFromFile("sample.pdf")

# 最初のページを取得
page = pdf.Pages.get_Item(0)

# 画像情報を取得
image_helper = PdfImageHelper()
images_info = image_helper.GetImagesInfo(page)

# 抽出画像を保存
for i in range(len(images_info)):
    images_info[i].Image.Save("output/Images/image" + str(i) + ".png")

抽出されたPDF画像

PythonでPDF画像を抽出


PythonでPDF文書プロパティを取得する

PDFファイルには、タイトル・作成者・キーワードなどのメタデータが含まれており、分類や検索に役立ちます。Spire.PDF を使えば、これらの情報も簡単に取得できます。

操作手順:

  1. PDFファイルを読み込みます
  2. DocumentInformation プロパティを通じてメタデータにアクセスします
  3. 各種プロパティを取得・出力します

コード例:

from spire.pdf import PdfDocument

# PDFファイルを読み込み
pdf = PdfDocument()
pdf.LoadFromFile("sample.pdf")

# 文書プロパティを取得
properties = pdf.DocumentInformation
print("タイトル: " + properties.Title)
print("作成者: " + properties.Author)
print("テーマ: " + properties.Subject)
print("キーワード: " + properties.Keywords)

抽出された文書プロパティ

PythonでPDF文書プロパティを抽出


まとめ

Free Spire.PDF for Python を活用することで、以下のようなPDF情報の抽出処理をシンプルに実現できます:

  • テキストの抽出:全文分析・検索インデックス用途に有効
  • 画像の抽出:資料保存、画像認識処理の前処理として活用
  • 文書プロパティの取得:メタ情報を用いた文書の分類や管理に便利

これらの機能は、ローカル環境で手軽に導入可能であり、軽量なPDF処理ツールの構築や、既存業務システムへの統合にも最適です。


👉 詳細チュートリアルはこちら:Spire.PDF for Python チュートリアルセンター

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?