Pythonを使用してPDFファイルからテキストを抽出する

Pythonを使用してPDFファイルからテキストを抽出する

皆さんは PDF が何であるかをよく知っているはずです。実際、これらは最も重要で広く使用されているデジタル メディアの 1 つです。 PDF の略 ポータブルドキュメントフォーマット 。それは使用しています .pdf 拡大。ソフトウェア、ハードウェア、オペレーティング システムに依存せず、ドキュメントを確実に提示および交換するために使用されます。

2 つの Python ライブラリを使用して PDF ファイルからテキストを抽出します。 pypdf そして PyMuPDF 、 記事上で。

pypdf ライブラリを使用して PDF ファイルからテキストを抽出します。

Pythonパッケージ pypdf 必要なこと (テキスト抽出) を達成するために使用できますが、必要以上のことを行うこともできます。このパッケージは、PDF ファイルの生成、復号化、結合にも使用できます。 注記: 詳細については、以下を参照してください。 Python で PDF ファイルを操作する

インストール

このパッケージをインストールするには、ターミナルで次のコマンドを入力します。

pip install pypdf 

例: PDF を入力: 抽出-pdf-テキスト-Python

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)>

出力:

抽出-pdf-Python

上記のコードをいくつかの部分に分けて理解してみましょう。

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 からテキストを抽出するには、次の手順に従う必要があります。

  1. ライブラリのインポート
  2. 文書を開く
  3. テキストの抽出

注記: ここでは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 つのライブラリからお好みのライブラリをコメントしてください。