mcpField
P
pdf-extraction

pdf-extraction

github.com/allenaiドキュメント43145 回インストール今日更新
リポジトリ

pdf-extraction について

pdf-extractionは、AstaのリモートOCR APIでローカルPDFを構造化されたMarkdownに変換するAstaスキルです。ページ範囲の指定や画像の抽出に対応し、文書処理やインデックス作成に使えます。

主な機能

  1. 01PDFテキストを構造化Markdownに抽出
  2. 02指定したページ範囲を処理
  3. 03埋め込み画像を出力先に保存
  4. 04標準出力またはファイルへ出力

活用シーン

  1. 01スキャンPDFをMarkdownに変換
  2. 02指定ページだけを抽出
  3. 03文書のインデックス作成用に準備
  4. 04抽出テキストとともに画像を保持

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/allenai/asta-plugins --skill pdf-extraction

インストール後、Claude Code で/pdf-extractionを入力して読み込まれたか確認します。

詳細

PDF テキスト抽出

Asta のリモート OCR API を使って、ローカルの PDF からテキストを抽出します。このコマンドは、文書の構造、見出し、書式、表、リスト、強調を保持した Markdown を返します。

クイックスタート

# Print extracted markdown to stdout
asta pdf-extraction remote paper.pdf

# Save extracted markdown to a file
asta pdf-extraction remote paper.pdf -o paper.md

# Extract the first 50 pages
asta pdf-extraction remote paper.pdf \
  --start-page 0 \
  --max-pages 50 \
  -o paper-part-1.md

# Extract pages 50-99
asta pdf-extraction remote paper.pdf \
  --start-page 50 \
  --max-pages 50 \
  -o paper-part-2.md

# Extract embedded images next to the markdown file
asta pdf-extraction remote paper.pdf -o output/paper.md --images

引数

  • <pdf>:ローカルの PDF パス(必須。ファイルが存在し、読み取り可能である必要があります)
  • -o / --output:Markdown の出力先パス(デフォルト:標準出力)
  • --start-page:処理する最初のページ。ページ番号はゼロから始まります (デフォルト:0)
  • --max-pages:処理する最大ページ数(デフォルト:50)
  • --images / --no-images:埋め込み画像を Markdown と同じ場所に保存するかどうか (デフォルト:--no-images)

このコマンドには、認証済みの Asta セッションが必要です。

手順

1. 入力と出力を確認する

ローカルの PDF と、ユーザーが Markdown の保存先として希望する場所を確認します。結果を後の作業で利用できるよう、明示的に -o パスを指定することをおすすめします。このコマンドは、出力ファイルの親ディレクトリがない場合に作成します。

2. ページ範囲を選択する

50 ページ以下の PDF では、デフォルト値を使用します。

asta pdf-extraction remote document.pdf -o document.md

50 ページを超える PDF では、連続した範囲ごとに別々のコマンドで処理します。ページ番号はゼロから始まるため、2 つ目の 50 ページの範囲はページ 50 から始まります。

asta pdf-extraction remote document.pdf \
  --start-page 0 --max-pages 50 -o document-part-001.md
asta pdf-extraction remote document.pdf \
  --start-page 50 --max-pages 50 -o document-part-002.md
asta pdf-extraction remote document.pdf \
  --start-page 100 --max-pages 50 -o document-part-003.md

ファイルがページ順に並ぶよう、パート番号にはゼロ埋めを使用します。

3. 必要に応じて画像を抽出する

図、図表、その他の埋め込み画像が重要な場合は、--images を使用します。

asta pdf-extraction remote document.pdf \
  -o extracted/document.md \
  --images

画像は出力ファイルのディレクトリに保存され、Markdown 内ではファイル名で参照されます。--images を使う場合は、必ず -o も指定してください。指定しないと、画像はカレントディレクトリに書き込まれます。

4. 結果を確認する

抽出後、次の点を確認します。

  • 出力ファイルが存在し、空でないこと。
  • 指定した範囲の最初と最後のページが含まれていること。
  • 見出し、表、数式、複数段組みのテキストが読み取れること。
  • --images を指定した場合、画像参照先が正しく表示されること。

文書を分割して処理した場合は、順序と出所が明確になるよう、抽出したファイルと一緒に元の PDF とページ範囲を保持してください。

よく使われるワークフロー

スキャンされた PDF を抽出する
asta pdf-extraction remote scanned-document.pdf \
  -o extracted/scanned-document.md
選択した範囲のみを抽出する

PDF ビューアーで表示される 21~30 ページを抽出するには、ゼロ起点のページ 20 から開始し、10 ページを指定します。

asta pdf-extraction remote report.pdf \
  --start-page 20 \
  --max-pages 10 \
  -o report-pages-21-30.md
Asta の文書インデックス用にテキストを抽出する

Markdown をユーザーのデータセットまたは文書ディレクトリに保存し、asta-documents または local-paper-index スキルを使ってインデックスを作成します。可能であれば、インデックスのメタデータにソース PDF へのリンクを保持してください。

トラブルシューティング

認証エラー

ユーザーが Asta にログインしていることを確認してから、同じコマンドを再実行してください。

リモート OCR API エラー

このコマンドは、HTTP ステータスとサービスからの応答を報告します。ネットワーク接続を確認して再試行してください。大きなリクエストが繰り返し失敗する場合は、--max-pages を減らして、より小さなページ範囲に分けて処理してください。

出力が空、または不完全
  • --start-page が文書の範囲内であることを確認してください。
  • 指定した範囲が最終ページを超えていないか確認してください。
  • ページ数を減らして再試行してください。
  • 画像のみのページや、通常より複雑なページについては、抽出結果を採用する前に、ソース PDF で該当ページを確認してください。
画像が別のディレクトリに書き込まれた

--images と明示的な -o パスの両方を指定してコマンドを実行してください。画像は出力ファイルの隣に保存されます。出力ファイルを指定しない場合は、カレントディレクトリに保存されます。

このスキルを使用する場面

次の場合に PDF 抽出を使用します。

  • ユーザーが PDF からテキストまたは Markdown を抽出したい場合。
  • PDF がスキャン画像である、または画像ベースのテキストを含み、光学文字認識(OCR)が必要な場合。
  • 文書に表、数式、複数段組み、複雑な書式が含まれる場合。
  • インデックス作成や後続の分析に、抽出したテキストが必要な場合。

次の場合は使用しないでください。

  • 入力が PDF ではなく画像の場合。
  • ユーザーが必要としているのが論文のメタデータや、検索可能な短い抜粋のみの場合。
  • ユーザーがリアルタイムまたはストリーミングでの抽出を必要としている場合。

コメント