PDFなどのドキュメントをMarkdown、JSON、チャンク、HTMLに変換し、オプションでLLMを使って精度を高められます。
pymupdf/PyMuPDF
MuPDFエンジンを基盤とする、高速なPDFなどの文書形式の抽出・解析・変換・レンダリング・編集に対応したPythonライブラリです。
代替できる製品:Adobe Acrobat
- スター
- 10,938
- フォーク
- 813
- 未解決の Issue
- 58
- 最終コミット
- 12 時間前
これは何?
PyMuPDFは、PDFなどの文書形式を扱う軽量なCエンジンMuPDFのPythonバインディングです。Pythonコードから、フォント、サイズ、色、位置の情報を含むテキストの読み取り、表の検出とエクスポート、ページの画像化、埋め込み画像の抽出ができます。
抽出に加えて、注釈の追加、墨消し、フォームへの入力、ページ編集、ファイルの結合と分割、ブックマークやメタデータの管理、PDFの作成、MarkdownからPDFへの変換にも対応しています。また、文書をMarkdown、JSON、プレーンテキストにエクスポートできるため、LLMやRAGのパイプラインにも適しています。OCRにはRapidOCRまたはTesseractを利用でき、オプションのPyMuPDF Office拡張機能を追加すると、Word、Excel、PowerPoint、HWPファイルも扱えます。
Python 3.11以降を対象に、Windows、macOS、Linux向けのwheelが公開されています。ライセンスはAGPL-3.0で、プロプライエタリな用途向けにはArtifexが商用ライセンスを提供しています。
主な機能
- 01フォント、サイズ、色、バウンディングボックスのメタデータを含むテキストを抽出
- 02表を検出し、Markdownまたはpandas DataFrameとしてエクスポート
- 03指定したDPIでページをPNGまたはJPEGにレンダリング
- 04注釈を追加し、墨消しを恒久的に適用
- 05AcroFormフィールドの読み取りと入力
- 06LLMでの利用に向けて文書をMarkdown、JSON、プレーンテキストにエクスポート
- 07RapidOCRまたはTesseractによるOCRを実行
ユースケース
- PDFの内容を構造化されたMarkdownとしてLLMやRAGのパイプラインに渡す
- 財務報告書や政府の報告書から表を抽出し、DataFrameに取り込む
- 共有前に文書の機密情報を墨消しする
- スクリプトでPDFを一括結合、分割、または透かし入れする
クイックスタート
- 1
PyPIからPyMuPDFをインストールする
pip install --upgrade pymupdf - 2
PDFからテキストを抽出する
python -c "import pymupdf; doc = pymupdf.open('document.pdf'); [print(p.get_text()) for p in doc]"
使う前に知っておきたいこと
- Office文書のサポートにはライセンスキーが必要です。キーがない場合、アクセスできるのは最初の3ページのみです。
- コアライブラリはAGPL-3.0ライセンスであり、ネットワーク経由または配布して使用する場合はコピーレフトの義務が生じます。
トピック
よくある質問
- PyMuPDF とは?
- MuPDFエンジンを基盤とする、高速なPDFなどの文書形式の抽出・解析・変換・レンダリング・編集に対応したPythonライブラリです。 PyMuPDFは、PDFなどの文書形式を扱う軽量なCエンジンMuPDFのPythonバインディングです。Pythonコードから、フォント、サイズ、色、位置の情報を含むテキストの読み取り、表の検出とエクスポート、ページの画像化、埋め込み画像の抽出ができます。
- PyMuPDF は無料で使えますか?ライセンスは?
- PyMuPDF は AGPL-3.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- PyMuPDF は今もメンテナンスされていますか?
- 活発にメンテナンス中。PyMuPDF の最終コミットは 2026年10月20日 です。
- PyMuPDF は何に使えますか?
- PDFの内容を構造化されたMarkdownとしてLLMやRAGのパイプラインに渡す 財務報告書や政府の報告書から表を抽出し、DataFrameに取り込む 共有前に文書の機密情報を墨消しする スクリプトでPDFを一括結合、分割、または透かし入れする
- PyMuPDF のインストール方法は?
- PyPIからPyMuPDFをインストールする: pip install --upgrade pymupdf PDFからテキストを抽出する: python -c "import pymupdf; doc = pymupdf.open('document.pdf'); [print(p.get_text()) for p in doc]"
- PyMuPDF はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/pymupdf/PyMuPDF
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
バウンディングボックス付きテキスト抽出、TesseractまたはHTTP OCR、複数形式の出力に対応する高速なRust製ローカル文書パーサー。
PDF、Officeファイル、画像をLLMやエージェントのワークフロー向けにMarkdownまたはJSONへ変換するオープンソースの文書パーサー。
PDF、Office文書、HTMLなどを構造化データに変換し、生成AIのパイプラインで活用できるオープンソースのドキュメントパーサー。
PDFをMarkdown、バウンディングボックス付きJSON、HTMLに変換し、AIパイプラインで活用できるオープンソースPDFパーサー。タグなしPDFの自動タグ付けにも対応。
PDFがテキストベースかスキャン画像かを判定し、テキストベースのPDFをOCRなしでクリーンなMarkdownに変換するRustライブラリおよびCLI。