OpenClaw PDF解析ツール:PDFからテキストを抽出・分析する方法
大量のPDF資料から必要な情報を探し出すのは、開発者にとって非常に骨の折れる作業ですよね。特に複数のドキュメントを横断して分析したり、特定のページだけを抽出したりするのは、意外と実装が面倒なものです。
pdfツールを使えば、1つ以上のPDFドキュメントを解析して、中身のテキストを簡単に取得できます。
このツールの主な特徴は以下の通りです:
- AnthropicやGoogleのモデルプロバイダー向けのNative provider modeを搭載しています。
- その他のプロバイダー向けには、テキストを抽出してから必要に応じてページ画像を取得するExtraction fallback modeが用意されています。
- 単一(
pdf)または複数(pdfs)の入力に対応しており、1回の呼び出しで最大10個のPDFを処理できます。
このツールは、OpenClawがエージェントに対してPDF対応モデルの設定を解決できる場合にのみ登録されます。解決の優先順位は以下の通りです:
agents.defaults.pdfModelagents.defaults.imageModelへのフォールバック- 利用可能な認証に基づく、ベストエフォートなプロバイダーのデフォルト設定へのフォールバック
利用可能なモデルが解決できない場合、pdfツールは公開されません。
入力リファレンス
Section titled “入力リファレンス”pdf(string): PDFのパスまたはURL(1つ)pdfs(string[]): 複数のPDFパスまたはURL、合計10個までprompt(string): 解析プロンプト。デフォルトはAnalyze this PDF document.です。pages(string):1-5や1,3,7-9のようなページフィルターmodel(string): オプションのモデルオーバーライド(provider/model)maxBytesMb(number): PDF1ファイルあたりのサイズ制限(MB単位)
入力に関する注意点:
pdfとpdfsは読み込み前にマージされ、重複が排除されます。- PDFの入力がない場合、ツールはエラーを返します。
pagesは1から始まるページ番号として解析され、重複排除とソートが行われた後、設定された最大ページ数に収まるよう調整されます。maxBytesMbのデフォルトはagents.defaults.pdfMaxBytesMbまたは10です。
サポートされているPDFリファレンス
Section titled “サポートされているPDFリファレンス”- ローカルファイルのパス(
~によるホームディレクトリ展開を含む) file://URLhttp://およびhttps://URL
リファレンスに関する注意点:
- その他のURIスキーム(例:
ftp://)はunsupported_pdf_referenceとして拒否されます。 - sandboxモードでは、リモートの
http(s)URLは拒否されます。 - workspace-onlyファイルポリシーが有効な場合、許可されたルート以外のローカルファイルパスは拒否されます。
Native provider mode
Section titled “Native provider mode”Nativeモードは、プロバイダーが anthropic および google の場合に使用されます。
このモードでは、ツールはPDFの生バイトデータをプロバイダーのAPIに直接送信します。
Nativeモードの制限:
pagesはサポートされていません。設定された場合、ツールはエラーを返します。
Extraction fallback mode
Section titled “Extraction fallback mode”Fallbackモードは、ネイティブ対応していないプロバイダーで使用されます。
処理の流れ:
- 選択されたページからテキストを抽出します(最大
agents.defaults.pdfMaxPages、デフォルトは20)。 - 抽出されたテキストが200文字未満の場合、選択されたページをPNG画像としてレンダリングして含めます。
- 抽出されたコンテンツとプロンプトを選択されたモデルに送信します。
フォールバックの詳細:
- ページの画像抽出には
4,000,000ピクセルの予算が使用されます。 - ターゲットモデルが画像入力をサポートしておらず、抽出可能なテキストもない場合、ツールはエラーを返します。
- Extraction fallbackの利用には
pdfjs-dist(および画像レンダリング用の@napi-rs/canvas)が必要です。
{ agents: { defaults: { pdfModel: { primary: "anthropic/claude-opus-4-6", fallbacks: ["openai/gpt-5-mini"], }, pdfMaxBytesMb: 10, pdfMaxPages: 20, }, },}フィールドの詳細は Configuration Reference を参照してください。
ツールは content[0].text にテキストを、details に構造化されたメタデータを返します。
一般的な details フィールド:
model: 解決されたモデルのリファレンス(provider/model)native: Native provider modeの場合はtrue、フォールバックの場合はfalseattempts: 成功前に失敗したフォールバックの試行回数
パスに関するフィールド:
- 単一のPDF入力:
details.pdf - 複数のPDF入力:
pdfエントリを持つdetails.pdfs[] - sandboxパスの書き換えメタデータ(該当する場合):
rewrittenFrom
エラー時の挙動
Section titled “エラー時の挙動”- PDF入力がない場合:
pdf required: provide a path or URL to a PDF documentをスローします。 - PDFが多すぎる場合:
details.error = "too_many_pdfs"という構造化エラーを返します。 - サポートされていないリファレンススキームの場合:
details.error = "unsupported_pdf_reference"を返します。 - Nativeモードで
pagesを使用した場合:pages is not supported with native PDF providersというエラーをスローします。
単一のPDFを処理する場合:
{ "pdf": "/tmp/report.pdf", "prompt": "Summarize this report in 5 bullets"}複数のPDFを処理する場合:
{ "pdfs": ["/tmp/q1.pdf", "/tmp/q2.pdf"], "prompt": "Compare risks and timeline changes across both documents"}ページフィルターを指定してフォールバックモデルを使用する場合:
{ "pdf": "https://example.com/report.pdf", "pages": "1-3,7", "model": "openai/gpt-5-mini", "prompt": "Extract only customer-impacting incidents"}- Tools Overview — 利用可能なすべてのエージェントツール
- Configuration Reference — pdfMaxBytesMb および pdfMaxPages の設定
次のステップ
Section titled “次のステップ”- Configuration Reference で詳細な設定オプションを確認しましょう。
- Tools Overview で、エージェントが利用できる他のツールについても学んでみてください。
OpenClaw Expert
まだ解決しませんか?
このページで解決しない場合は、OpenClaw Expertに直接質問してください。