オープンソースの Python PDF パーサー ライブラリ
この無料のオープンソース Python ライブラリを試して、PDF ドキュメントからテキスト、画像、表、その他のコンテンツを解析、読み取り、抽出してください。
PyMuPDF とは何ですか?
PyMuPDF (別名 Fitz) は、PDF ファイルの操作に使用できる包括的なツール セットを提供するオープン ソースの Python ライブラリです。PyMuPDF を使用すると、PDF を開く、テキスト、画像、表を抽出、回転や切り取りなどのページ プロパティを操作、新しい PDF ドキュメントを作成する、PDF ページを画像に変換するなどのタスクを効率的に実行できます。
PyMuPDF は、以下にリストされているいくつかの機能をサポートしています。
- PDF ドキュメントの読み取り: PyMuPDF は PDF ドキュメントを開いて読み取ることができ、ドキュメント内のテキスト、画像、その他のコンテンツにアクセスできます。
- テキスト抽出: テキスト コンテンツ、フォント、レイアウト情報など、PDF ドキュメントからテキストを抽出できます。
- 画像抽出: PDF ドキュメントから JPEG や PNG などのさまざまな形式で画像を抽出できます。
- 表の抽出: PDF ドキュメントから表を抽出することもできます。
このレビューでは、ライブラリの抽出機能と解析機能に主に焦点を当てます。分割、結合、ページ管理機能の詳細な評価については、こちらをクリックしてください。
PyMuPDF を使い始める
PyMuPDF をインストールして使用するには、Python バージョン 3.8.0 以上が必要です。まず Python をインストールし、次に以下のコマンドを使用して pip と 仮想環境 を使用して PyMuPDF をマシンにインストールします。
リナックス
python -m venv pymupdf-venv
. pymupdf-venv/bin/activate
pip install pymupdf
MacOS
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 内のテキストを操作するための強力な選択肢であり続けます。