PDF文書のさまざまな特殊なスタイルを保持しながら、編集、コピー、検索などが難しいものです。PDF文書のコンテンツを処理する必要がある場合、テキストと画像をPDF文書から抽出して、これらのコンテンツをさらに操作したり、他の目的に使用したりするために、ツールを使用することが選択肢となります。この記事では、Pythonを使用してPDFファイルからテキストと画像を抽出して保存する方法について説明します。
この方法には、Spire.PDF for Pythonが必要です。公式ウェブサイトからダウンロードするか、pipを使用して直接インストールすることができます。
pip install Spire.PDF
PDFファイルからテキストを抽出する方法
ExtractText メソッドは、個々のページのすべてのテキスト(空白を含む)を抽出し、文字列として返します。したがって、ドキュメントの各ページを反復処理し、このメソッドを使用して各ページのテキストを抽出し、テキストファイルに書き込むことで、PDFファイルからテキストを抽出することができます。詳細な手順は以下の通りです:
- PdfDocument クラスのオブジェクトを作成します。
- PdfDocument.LoadFromFile() メソッドを使用してPDFドキュメントをロードします。
- 抽出されたテキストを保存するためのテキストファイルを作成します。
- ドキュメントのページを反復処理し、PdfPageBase.ExtractText() メソッドを使用してページのテキストを取得し、テキストファイルに書き込みます。
Python
from spire.pdf import *
from spire.pdf.common import *
# PdfDocumentクラスのオブジェクトを作成する
pdf = PdfDocument()
# PDFドキュメントをロードする
pdf.LoadFromFile("サンプル.pdf")
# 抽出されたテキストを保存するためのTXTファイルを作成する
extractedText = open("output/抽出したテキスト.txt", "w", encoding="utf-8")
# ドキュメントのページを反復処理する
for i in range(pdf.Pages.Count):
# ページを取得する
page = pdf.Pages.get_Item(i)
# ページからテキストを抽出する
text = page.ExtractText()
# テキストをTXTファイルに書き込む
extractedText.write(text + "\n")
extractedText.close()
pdf.Close()
PDFファイルから画像を抽出する方法
画像を抽出する方法は、テキストを抽出する方法と似ています。各ページを反復処理し、ExtractImages メソッドを使用して個々のページからすべての画像を抽出し、リストとして返します。その後、リスト内のすべての画像をファイルに保存します。詳細な手順は以下の通りです:
- PdfDocument クラスのオブジェクトを作成します。
-
PdfDocument.LoadFromFile() メソッドを使用してPDFドキュメントをロードします。
リストを作成します。 - ドキュメントのページを反復処理し、PdfPageBase.ExtractImages() メソッドを使用してページ内の画像を取得し、作成したリストに追加します。
- リスト内の画像を保存します。
Python
from spire.pdf import *
from spire.pdf.common import *
# PdfDocumentクラスのオブジェクトを作成します
pdf = PdfDocument()
# PDFドキュメントをロードします
pdf.LoadFromFile("サンプル.pdf")
# 画像を保存するためのリストを作成します
images = []
# ドキュメントのページを反復処理します
for i in range(pdf.Pages.Count):
page = pdf.Pages.get_Item(i)
for img in page.ExtractImages():
images.append(img)
# 抽出した画像を保存します
i = 0
for image in images:
i += 1
image.Save("output/Images/Image-{0:d}.png".format(i), ImageFormat.get_Png())
pdf.Close()
上記は、PDFファイルからテキストや画像を抽出するためのSpire.PDF for Pythonの使用方法についてです。PDFファイルの操作について詳しく知りたい場合は、Spire.PDF for Pythonのチュートリアルをご覧ください。 また、Spire.PDFフォーラムで議論に参加することもできます。