extracting-pdf-text について
PDFの内容をLLMワークフロー向けに抽出するスキルで、テキスト、表、スキャン画像、複雑なレイアウトに応じて方法を選べます。ローカルスクリプトとMistral OCR APIに対応します。
主な機能
- 01PyMuPDFでテキストを抽出
- 02pdfplumberで表を変換
- 03スキャンPDFをローカルでOCR処理
- 04Mistral OCR APIで複雑なレイアウトを抽出
- 05LLMワークフロー向けにMarkdownを出力
活用シーン
- 01一般的なPDFからテキストを抽出
- 02PDFの表をMarkdownに変換
- 03APIを使わずにスキャン文書を処理
- 04RAG向けにPDFコンテンツを準備
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ letta-ai/ skills --skill extracting-pdf-textインストール後、Claude Code で/extracting-pdf-textを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/api-services.mdlocal-tools.mdscripts/extract_mistral_ocr.pyextract_pdfplumber.pyextract_pymupdf.pyextract_with_ocr.py詳細
LLM 向け PDF テキストの抽出
このスキルでは、LLM が利用しやすい形式で PDF からテキストを抽出するためのツールとガイダンスを提供します。
クイック判定ガイド
| PDF の種類 | 最適な方法 | スクリプト |
|---|---|---|
| シンプルなテキスト PDF | PyMuPDF | scripts/extract_pymupdf.py |
| 表を含む PDF | pdfplumber | scripts/extract_pdfplumber.py |
| スキャン画像の PDF(ローカル) | pytesseract | scripts/extract_with_ocr.py |
| 複雑なレイアウト、最高精度 | Mistral OCR API | scripts/extract_mistral_ocr.py |
| エンドツーエンドの RAG パイプライン | marker-pdf | pip install marker-pdf |
推奨ワークフロー
- まず PyMuPDF を試す - 最速で、ほとんどのテキストベース PDF を適切に処理します
- 表の形式が崩れる場合 - pdfplumber に切り替えます
- スキャン画像の場合 - Mistral OCR API(最高精度)またはローカル OCR(無料ですが、低速)を使用します
ローカルでの抽出(API 不要)
PyMuPDF - 高速な汎用抽出
最適な用途:テキスト量の多い PDF、速度が重要なワークフロー、基本的な構造の保持。
uv run scripts/extract_pymupdf.py input.pdf output.md
このスクリプトは、見出しと段落を保持した Markdown を出力します。LLM に最適化された出力には、テキストを RAG システム向けに整形する pymupdf4llm を使用します。
pdfplumber - 表の抽出
最適な用途:表を含む PDF、財務文書、構造化データ。
uv run scripts/extract_pdfplumber.py input.pdf output.md
表は Markdown 形式に変換されます。注:pdfplumber は、スキャン文書ではなく、機械生成された PDF で最もよく機能します。
ローカル OCR - スキャン文書
最適な用途:API にアクセスできない場合のスキャン PDF。
uv run scripts/extract_with_ocr.py input.pdf output.txt
必要なもの:pytesseract、pdf2image、および Tesseract のインストール(macOS では brew install tesseract)。
API ベースの抽出
Mistral OCR API
最適な用途:複雑なレイアウト、スキャン文書、最高精度、多言語コンテンツ、数式。
料金:1 ドルあたり約 1000 ページ(非常に費用対効果が高い)
export MISTRAL_API_KEY="your-key"
uv run scripts/extract_mistral_ocr.py input.pdf output.md
機能:
- クリーンな Markdown を出力します
- 文書構造(見出し、リスト、表)を保持します
- 画像、数式、多言語テキストを処理します
- 複雑な文書でも 95% 以上の精度です
API の詳細なオプションやその他のサービスについては、references/api-services.md を参照してください。
出力形式の推奨事項
LLM での利用には、Markdown が推奨されます:
- 意味上の構造を保持します(見出しがコンテキストの境界になります)
- 表の読みやすさが保たれます
- ほとんどの RAG チャンク分割方式と互換性があります
ローカルツールの詳しい比較については、references/local-tools.md を参照してください。