PDFファイルから文字抽出する方法として、「pypdf」「pdfminer.six」があります。
そこで、ここでは「pypdf」「pdfminer.six」の使用方法について解説しています。
この記事の対象
英文抽出 ⇒ pypdf
英文を抽出するなら「pypdf」で可能です。外部ライブラリのためpipでインストールしておく必要があります。以下を実行して下さい。
$ pip install pypdf
pypdf使用例
from pypdf import PdfReader
reader = PdfReader("arxiv_test.pdf")
for i in reader.pages:
page = i
print(page.extract_text())
上記のプログラムは任意のPDFファイルのすべてのページを読込んで出力しています。使用したPDFはarXivになります。使用したPDFはこちらです。
【結果】

指定ページだけ抽出
from pypdf import PdfReader
reader = PdfReader("arxiv_test.pdf")
page = reader.pages[0]
print(page.extract_text())
上記のプログラムは任意のPDFファイルの1ページ目を読込んで出力しています。ページを指定する場合は「.pages[]」を使用することで可能です。
結果は省略します。
日本語抽出 ⇒ pdfminer.six
「pdfminer.six」は日本語の抽出ができるライブラリになります。こちらも外部ライブラリのため、以下の様にインストールしておく必要があります。
$ pip install pdfminer.six
pdfminer.six使用例
from pdfminer.high_level import extract_text
text = extract_text("nikon.pdf")
print(text)
上記のプログラムは任意の日本語が含まれているPDFファイルを読み込んで出力しています。
使用しているPDFファイルはNikonのIR資料になります。使用したPDFはこちらです。
【結果】

指定ページだけ抽出
from pdfminer.high_level import extract_text
text = extract_text(pdf_file="nikon.pdf",page_numbers=[1])
print(text)
指定ページだけを抽出した場合は引数に「page_numbers」を指定するだけです。
結果は省略します。