pdf-extraction について
pdf-extractionは、AstaのリモートOCR APIでローカルPDFを構造化されたMarkdownに変換するAstaスキルです。ページ範囲の指定や画像の抽出に対応し、文書処理やインデックス作成に使えます。
主な機能
- 01PDFテキストを構造化Markdownに抽出
- 02指定したページ範囲を処理
- 03埋め込み画像を出力先に保存
- 04標準出力またはファイルへ出力
活用シーン
- 01スキャンPDFをMarkdownに変換
- 02指定ページだけを抽出
- 03文書のインデックス作成用に準備
- 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 ではなく画像の場合。
- ユーザーが必要としているのが論文のメタデータや、検索可能な短い抜粋のみの場合。
- ユーザーがリアルタイムまたはストリーミングでの抽出を必要としている場合。