オープンソースの Python PDF パーサー ライブラリ
この無料のオープンなソース Python ライブラリを試して、PDF ドキュメントからテキスト、画像、表、その他のコンテンツを解析、読み取り、抽出します。
PyMuPDFとは何ですか?
Fitz としても知られる PyMuPDF は、PDF ファイルを操作するための包括的なツール セットを提供するオープンソース Python ライブラリです。 PyMuPDF を使用すると、ユーザーは PDF を開く、テキスト、画像、表を抽出する、回転やトリミングなどのページ プロパティを操作する、新しい PDF ドキュメントを作成する、PDF ページを画像に変換するなどのタスクを効率的に実行できます。
PyMuPDF は、以下に示すいくつかの機能をサポートしています。
- PDF ドキュメントの読み取り: PyMuPDF は PDF ドキュメントを開いて読み取ることができ、ドキュメント内のテキスト、画像、その他のコンテンツにアクセスできるようになります。
- テキスト抽出: PDF ドキュメントから、テキスト コンテンツ、フォント、レイアウト情報などのテキストを抽出できます。
- 画像抽出: PDF ドキュメントから JPEG や PNG などのさまざまな形式で画像を抽出できます。
- 表の抽出: PDF ドキュメントから表を抽出することもできます。
このレビューでは、ライブラリの抽出機能と解析機能に主に焦点を当てます。分割、結合、ページ管理機能の詳細な評価については、ここをクリックしてください。
PyMuPDF の入門
PyMuPDF をインストールして使用するには、Python バージョン 3.8.0 以降が必要です。したがって、まず Python をインストールし、次に以下のコマンドを使用して pip と 仮想環境あ>。
Linux
python -m venv pymupdf-venv
. pymupdf-venv/bin/activate
pip install pymupdf
マックOS
python -m venv pymupdf-venv
. pymupdf-venv/bin/activate
pip install pymupdf
ウィンドウズ
python -m venv pymupdf-venv
.\pymupdf-venv\Scripts\activate
pip install pymupdf
PDF からテキストを抽出
以下のコードに示すように、Python で PyMuPDF ライブラリを使用すると、ライブラリで提供される関数を使用するだけで、PDF ドキュメントからテキストを抽出し、単語のカウントなどのテキスト分析を実行できます。
出力
以下の画像は、PDF ファイル内の抽出されたテキストと単語数を示しています。
PDF から画像を抽出
PyMuPDF ライブラリを使用して、Python で PDF ドキュメントから画像を抽出できます。以下のコード スニペットは、指定された PDF ファイルを開き、PDF から画像を抽出して、現在の作業ディレクトリに保存します。
出力
以下は PDF ドキュメントから抽出された PNG 画像です
PDF から表を抽出
PyMuPDF ライブラリを使用して PDF ドキュメントを処理し、そこからテーブルを抽出することもできます。指定された PDF ファイルを開き、PDF ドキュメントから表を抽出する以下のコード スニペットを確認してください。
出力
以下のスクリーンショットは、PDF ドキュメントから抽出された表を示しています。
PDF にテキストを挿入
以下の Python コード スニペットは、PyMuPDF ライブラリを使用して PDF ファイルにテキストを挿入し、変更した PDF をtext.pdf として保存する方法を示しています。
出力
上記のコードを使用して挿入されたテキストは、以下の赤いボックスで強調表示されます。
PyMuPDF で OCR を使用した PDF テキスト認識
We will perform OCR on the PDF file containing the following image:出力
以下の画像は、提供された PDF ファイル内の画像から抽出されたテキストを示しています。
結論
要約すると、PyMuPDF は、明確な長所と短所を備えたプロフェッショナルなツールです。 OCR やテキスト抽出などのタスクに最適であり、PDF 内のテキストを処理するのに役立ちます。
ただし、特に PDF の構造が複雑であったり、ページ数が多い場合には、PDF から表を抽出するのはあまり得意ではないため、一部のユーザーにとっては欠点になる可能性があります。また、特定の状況では Pandas や Tesseract OCR 言語データ ファイルなどの追加ライブラリが必要になる場合があり、その使用法がさらに複雑になります。これらの制限にもかかわらず、PyMuPDF は PDF 内のテキストを操作するための強力な選択肢であり続けます。