\

PythonでPDFを操作するためのライブラリはいくつか存在します。その中でも、PyMuPDFPyPDF2PDFminerがよく使われます。

PyMuPDF

PyMuPDFは、PDFを読み込んで様々な操作を行うことが可能です。操作できる例として、テキスト抽出、画像取得、目次取得、ページ毎に分割、複数ファイルを結合などがあります。

# ライブラリ設定
import fitz

# PDFを読み込む
filename = 'sample.pdf'
doc = fitz.open(filename)

# 1ページずつテキストを抽出して出力
for page in range(len(doc)):
    text = doc[page].get_text()
    print(text)

PyPDF2

PyPDF2は、PDFの結合や分割などのファイル操作が簡単にできます。

# ライブラリ設定
import PyPDF2

# PDFを読み込む
filename = 'sample.pdf'
reader = PyPDF2.PdfFileReader(filename)

# テキストを抽出する
for page in range(reader.numPages):
    text = reader.getPage(page).extractText()
    print(text)

PDFminer

PDFminerは、コードが長くなるため、個人的におすすめはしません。

# ライブラリ設定
from pdfminer.pdfinterp import PDFResourceManager
from pdfminer.converter import TextConverter
from pdfminer.pdfinterp import PDFPageInterpreter
from pdfminer.pdfpage import PDFPage
from pdfminer.layout import LAParams
from io import StringIO

# PDFを読み込む
filename = 'sample.pdf'
pdf = open(filename, 'rb')

# テキスト抽出のための準備
outpdf = StringIO()
rmgr = PDFResourceManager()
lprms = LAParams()
device = TextConverter(rmgr, outpdf, laparams=lprms)
iprtr = PDFPageInterpreter(rmgr, device)

# ページを読み込む
for page in PDFPage.get_pages(pdf):
    iprtr.process_page(page)

# テキストを抽出して出力
text = outpdf.getvalue()
print(text)

以上がPythonでPDFを操作するための基本的な方法です。詳細な操作方法や各ライブラリの特性については、公式ドキュメンテーションを参照してください.

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です