Pythonを使用してPDFファイルからテキストを抽出する
皆さんは PDF が何であるかをよく知っているはずです。実際、これらは最も重要で広く使用されているデジタル メディアの 1 つです。 PDF の略 ポータブルドキュメントフォーマット 。それは使用しています .pdf 拡大。ソフトウェア、ハードウェア、オペレーティング システムに依存せず、ドキュメントを確実に提示および交換するために使用されます。
2 つの Python ライブラリを使用して PDF ファイルからテキストを抽出します。 pypdf そして PyMuPDF 、 記事上で。
pypdf ライブラリを使用して PDF ファイルからテキストを抽出します。
Pythonパッケージ pypdf 必要なこと (テキスト抽出) を達成するために使用できますが、必要以上のことを行うこともできます。このパッケージは、PDF ファイルの生成、復号化、結合にも使用できます。 注記: 詳細については、以下を参照してください。 Python で PDF ファイルを操作する
インストール
このパッケージをインストールするには、ターミナルで次のコマンドを入力します。
pip install pypdf
例: PDF を入力:
Python3
# importing required modules> from> pypdf> import> PdfReader> > # creating a pdf reader object> reader> => PdfReader(> 'example.pdf'> )> > # printing number of pages in pdf file> print> (> len> (reader.pages))> > # getting a specific page from the pdf file> page> => reader.pages[> 0> ]> > # extracting text from page> text> => page.extract_text()> print> (text)> |
出力:
上記のコードをいくつかの部分に分けて理解してみましょう。
reader = PdfReader('example.pdf') - のオブジェクトを作成しました PDFリーダー からのクラス pypdf モジュール。
- の PDFリーダー クラスは、PDF ファイルへのパスの必須の位置引数を受け取ります。
print(len(reader.pages))
- ページ プロパティは次のリストを与えます ページオブジェクト 。したがって、ここでは組み込みの のみ() PDFファイルのページ数を取得するPythonの関数。
page = reader.pages[0]
- さて、として リーダーページ のリストです ページオブジェクト 、特定の情報を取得できます ページ ページのインデックスをタップして PDF を開きます。 Pythonのリストではインデックスは0から始まるので、 リーダー.ページ[0] PDF ファイルの最初のページが表示されます。
text = page.extract_text() print(text)
- ページオブジェクトには機能があります 抽出テキスト() PDF ページからテキストを抽出します。
PyMuPDF ライブラリを使用して PDF ファイルからテキストを抽出します。
PyMuPDF は、XPS、PDF、CBR、CBZ などのファイル形式をサポートする Python ライブラリです。ただし、今のところ、この記事では PDF (Portable Document Format) ファイルに焦点を当てます。
インストール
pip install pymupdf pip install fitz
PDF からテキストを抽出するには、次の手順に従う必要があります。
- ライブラリのインポート
- 文書を開く
- テキストの抽出
注記: ここではsample.pdfを使用しています。 PDF を入手するには、以下のリンクを使用してください。
サンプル.pdf – リンク
1. ライブラリのインポート
Python3
import> fitz> |
2. 文書を開く
Python3
doc> => fitz.> open> (> 'sample.pdf'> )> |
ここでは、というオブジェクトを作成しました。 博士 、ファイル名は Python 文字列である必要があります。
3. テキストの抽出
Python3
for> page> in> doc:> > text> => page.get_text()> > print> (text)> |
ここでは、PDF 内のページを反復処理し、 get_text() ファイルから各ページを抽出するメソッド。
テキストを抽出するためのすべてのコード
Python3
import> fitz> doc> => fitz.> open> (> 'sample.pdf'> )> text> => ''> for> page> in> doc:> > text> +> => page.get_text()> print> (text)> |
出力:
結論
2 つの Python ライブラリを見てきました。 pypdf そして PyMuPDF , PDF ファイルからテキストを抽出できます。上記 2 つのライブラリからお好みのライブラリをコメントしてください。