日々のデータ収集や文書アーカイブ、情報抽出の過程において、PDF形式はそのレイアウトの固定性と内容の安定性から広く使用されています。Python開発者がPDFの内容を自動的に抽出したい場合、使いやすく機能が充実したライブラリの選定が極めて重要です。
本記事では、Pythonを使用して、以下の3つの主要なPDF操作方法を紹介します:
これらの機能は、情報抽出、電子文書管理、文書検索システムなどの場面で活用できます。
本記事では、無料の Free Spire.PDF for Python を使用しています。pip を使用してインストール: pip install spire.pdf.free
PythonでPDFテキストを抽出する
PDF内のテキストを抽出することは、情報処理の基本となる作業です。Spire.PDF は PdfTextExtractor
クラスを提供しており、ページごとにテキストを抽出することができます。また、抽出モードも設定可能です。
操作手順:
-
PdfDocument
を作成し、PDFファイルを読み込みます - 各ページをループ処理して
PdfTextExtractor
を使用します - 抽出オプション(簡易抽出モードなど)を設定します
- テキストを累積して出力します
コード例:
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文書(元ファイル):
抽出されたPDFテキスト:
PythonでPDF画像を抽出する
PDFファイルには、図版・ロゴ・透かし画像などが含まれていることがあります。Spire.PDFの PdfImageHelper
クラスを使えば、ページ内に埋め込まれている画像を簡単に抽出・保存できます。
操作手順:
- PDFファイルを読み込み、ページを取得します
-
PdfImageHelper.GetImagesInfo()
で画像情報を取得します - 取得した画像をファイルとして保存します
コード例:
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文書プロパティを取得する
PDFファイルには、タイトル・作成者・キーワードなどのメタデータが含まれており、分類や検索に役立ちます。Spire.PDF を使えば、これらの情報も簡単に取得できます。
操作手順:
- PDFファイルを読み込みます
-
DocumentInformation
プロパティを通じてメタデータにアクセスします - 各種プロパティを取得・出力します
コード例:
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)
抽出された文書プロパティ:
まとめ
Free Spire.PDF for Python を活用することで、以下のようなPDF情報の抽出処理をシンプルに実現できます:
- テキストの抽出:全文分析・検索インデックス用途に有効
- 画像の抽出:資料保存、画像認識処理の前処理として活用
- 文書プロパティの取得:メタ情報を用いた文書の分類や管理に便利
これらの機能は、ローカル環境で手軽に導入可能であり、軽量なPDF処理ツールの構築や、既存業務システムへの統合にも最適です。
👉 詳細チュートリアルはこちら:Spire.PDF for Python チュートリアルセンター