Claude Platform Docs
  • メッセージ
  • マネージドエージェント
  • 管理

Search...
⌘K
はじめに
Claudeの紹介クイックスタート
Claudeで構築する
機能の概要Messages APIの使用停止理由とフォールバック拒否とフォールバックフォールバッククレジット
モデルの機能
拡張思考適応型思考エフォートタスク予算(ベータ版)高速モード(リサーチプレビュー)構造化出力引用メッセージのストリーミングバッチ処理検索結果拒否のストリーミング多言語サポート埋め込み
ツール
概要ツール使用の仕組みチュートリアル:ツールを使うエージェントの構築ツールの定義ツール呼び出しの処理並列ツール使用Tool Runner(SDK)厳密なツール使用プロンプトキャッシングを使ったツール使用サーバーツールトラブルシューティングWeb検索ツールWeb取得ツールコード実行ツールアドバイザーツールメモリツールBashツールコンピュータ使用ツールテキストエディタツール
ツールインフラストラクチャ
ツールリファレンスツールコンテキストの管理ツールの組み合わせツール検索プログラムによるツール呼び出しきめ細かいツールストリーミング
コンテキスト管理
コンテキストウィンドウコンパクションコンテキスト編集プロンプトキャッシング会話途中のシステムメッセージオーケストレーションモードの構築キャッシュ診断(ベータ版)トークンカウント
ファイルの操作
Files APIPDFサポート画像とビジョン
スキル
概要クイックスタートベストプラクティスエンタープライズ向けスキルAPIでのスキル
MCP
リモートMCPサーバーMCPコネクタ
クラウドプラットフォーム上のClaude
Amazon BedrockAmazon Bedrock(レガシー)AWS上のClaude PlatformMicrosoft FoundryVertex AI

Log in
PDFサポート
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Claude Platform Docs

Solutions

  • AI agents
  • Code modernization
  • Coding
  • Customer support
  • Education
  • Financial services
  • Government
  • Life sciences

Partners

  • Claude on AWS
  • Claude on Google Cloud

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Company

  • Anthropic
  • Careers
  • Economic Futures
  • Research
  • News
  • Responsible Scaling Policy
  • Security and compliance
  • Transparency

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Help and security

  • Availability
  • Status
  • Support
  • Discord

Terms and policies

  • Privacy policy
  • Responsible disclosure policy
  • Terms of service: Commercial
  • Terms of service: Consumer
  • Usage policy
メッセージ/ファイルの操作

PDFサポート

ClaudeでPDFを処理します。ドキュメントからテキストを抽出し、チャートを分析し、視覚的なコンテンツを理解します。


この機能はZero Data Retention(ZDR)の対象です。組織がZDR契約を締結している場合、この機能を通じて送信されたデータは、APIレスポンスが返された後に保存されることはありません。

提供したPDF内のテキスト、画像、チャート、表についてClaudeに質問できます。ユースケースの例:

  • 財務レポートの分析とチャート/表の理解
  • 法的文書からの重要情報の抽出
  • ドキュメントの翻訳支援
  • ドキュメント情報の構造化フォーマットへの変換

始める前に

PDF要件の確認

Claudeは標準的なPDFであれば処理できます。リクエストサイズが以下の要件を満たしていることを確認してください:

要件制限
最大リクエストサイズ32 MB(プラットフォームによって異なります)
リクエストあたりの最大ページ数600(200kトークンのコンテキストウィンドウを持つモデルの場合は100)
フォーマット標準PDF(パスワード/暗号化なし)

両方の制限は、PDFと一緒に送信される他のコンテンツを含むリクエストペイロード全体に適用されます。大きなPDFの場合は、Files APIでアップロードし、file_idで参照することでリクエストペイロードを小さく保つことを検討してください。



密度の高いPDF(小さなフォントのページが多い、複雑な表、大量のグラフィックなど)は、ページ制限に達する前にコンテキストウィンドウを埋めてしまう可能性があります。大きなPDFを含むリクエストは、Files APIを使用している場合でも、ページ制限に達する前に失敗することがあります。ドキュメントをセクションに分割してみてください。大きなファイルの場合、各ページは画像として処理されるため、埋め込み画像をダウンサンプリングすることも有効です。

PDFサポートはClaudeのビジョン機能に依存しているため、他のビジョンタスクと同じ制限事項と考慮事項が適用されます。

サポートされているプラットフォームとモデル

PDFサポートは、Claude API、Claude Platform on AWS、Amazon Bedrock(Amazon BedrockのPDFサポートを参照)、Vertex AI、およびMicrosoft Foundryで利用できます。すべてのアクティブなモデルがPDF処理をサポートしています。

Amazon BedrockのPDFサポート

BedrockのConverse APIを通じてPDFサポートを使用する場合、2つの異なるドキュメント処理モードがあります:



重要: Converse APIでClaudeの完全な視覚的PDF理解機能にアクセスするには、引用(citations)を有効にする必要があります。引用が有効になっていない場合、APIは基本的なテキスト抽出のみにフォールバックします。引用の使用方法について詳しくはこちらをご覧ください。

ドキュメント処理モード

  1. Converse Document Chat(元のモード - テキスト抽出のみ)

    • PDFからの基本的なテキスト抽出を提供します
    • PDF内の画像、チャート、視覚的レイアウトを分析できません
    • 3ページのPDFで約1,000トークンを使用します
    • 引用が有効になっていない場合に自動的に使用されます
  2. Claude PDF Chat(新しいモード - 完全な視覚的理解)

    • PDFの完全な視覚的分析を提供します
    • チャート、グラフ、画像、視覚的レイアウトを理解し分析できます
    • 包括的な理解のために各ページをテキストと画像の両方として処理します
    • 3ページのPDFで約7,000トークンを使用します
    • Converse APIで引用を有効にする必要があります

主な制限事項

  • Converse API:視覚的PDF分析には引用を有効にする必要があります。現在、引用なしで視覚的分析を使用するオプションはありません(InvokeModel APIとは異なります)。
  • InvokeModel API:強制的な引用なしでPDF処理を完全に制御できます。

よくある問題

Converse APIを使用しているときにClaudeがPDF内の画像やチャートを認識していない場合は、引用フラグを有効にする必要がある可能性があります。これがないと、Converseは基本的なテキスト抽出のみにフォールバックします。



これはConverse APIの既知の制約です。引用なしで視覚的PDF分析が必要なアプリケーションの場合は、代わりにInvokeModel APIの使用を検討してください。



.csv、.xlsx、.docx、.md、.txtファイルなどのPDF以外のファイルについては、他のファイル形式の処理を参照してください。


ClaudeでPDFを処理する

最初のPDFリクエストを送信する

Messages APIを使用した簡単な例から始めましょう。PDFをClaudeに提供する方法は3つあります:

  1. オンラインでホストされているPDFへのURL参照として
  2. documentコンテンツブロック内のbase64エンコードされたPDFとして
  3. Files APIからのfile_idによって


Amazon BedrockおよびVertex AIでは、現在base64エンコードされたソースのみが利用可能です。

オプション1:URLベースのPDFドキュメント

最も簡単なアプローチは、URLから直接PDFを参照することです:

client = anthropic.Anthropic()
message = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "document",
                    "source": {
                        "type": "url",
                        "url": "https://assets.anthropic.com/m/1cd9d098ac3e6467/original/Claude-3-Model-Card-October-Addendum.pdf",
                    },
                },
                {"type": "text", "text": "What are the key findings in this document?"},
            ],
        }
    ],
)

print(message.content)

オプション2:Base64エンコードされたPDFドキュメント

ローカルシステムからPDFを送信する必要がある場合、またはURLが利用できない場合:

import base64
import httpx

# まず、PDFを読み込んでエンコードします
pdf_url = "https://assets.anthropic.com/m/1cd9d098ac3e6467/original/Claude-3-Model-Card-October-Addendum.pdf"
pdf_data = base64.standard_b64encode(httpx.get(pdf_url).content).decode("utf-8")

# 別の方法:ローカルファイルから読み込む
# with open("document.pdf", "rb") as f:
#     pdf_data = base64.standard_b64encode(f.read()).decode("utf-8")

# base64エンコーディングを使用してClaudeに送信します
client = anthropic.Anthropic()
message = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "document",
                    "source": {
                        "type": "base64",
                        "media_type": "application/pdf",
                        "data": pdf_data,
                    },
                },
                {"type": "text", "text": "What are the key findings in this document?"},
            ],
        }
    ],
)

print(message.content)

オプション3:Files API

繰り返し使用するPDFの場合、またはエンコードのオーバーヘッドを避けたい場合は、Files APIを使用します:

client = anthropic.Anthropic()

# PDFファイルをアップロードします
with open("document.pdf", "rb") as f:
    file_upload = client.beta.files.upload(file=("document.pdf", f, "application/pdf"))

# アップロードしたファイルをメッセージで使用します
message = client.beta.messages.create(
    model="claude-opus-4-8",
    max_tokens=1024,
    betas=["files-api-2025-04-14"],
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "document",
                    "source": {"type": "file", "file_id": file_upload.id},
                },
                {"type": "text", "text": "What are the key findings in this document?"},
            ],
        }
    ],
)

print(message.content)

PDFサポートの仕組み

PDFをClaudeに送信すると、以下のステップが実行されます:

  1. 1

    システムがドキュメントの内容を抽出します。

    • システムはドキュメントの各ページを画像に変換します。
    • 各ページからテキストが抽出され、各ページの画像と一緒に提供されます。
  2. 2

    Claudeはテキストと画像の両方を分析してドキュメントをより深く理解します。

    • ドキュメントは分析のためにテキストと画像の組み合わせとして提供されます。
    • これにより、ユーザーはチャート、図、その他の非テキストコンテンツなど、PDFの視覚的要素に関する洞察を求めることができます。
  3. 3

    Claudeは関連する場合、PDFの内容を参照して応答します。

    Claudeは応答時にテキストと視覚的コンテンツの両方を参照できます。PDFサポートを以下と統合することで、パフォーマンスをさらに向上させることができます:

    • プロンプトキャッシング:繰り返し分析のパフォーマンスを向上させるため。
    • バッチ処理:大量のドキュメント処理のため。
    • ツール使用:ドキュメントから特定の情報を抽出してツール入力として使用するため。

コストの見積もり

PDFファイルのトークン数は、ドキュメントから抽出されたテキストの総量とページ数によって異なります:

  • テキストトークンコスト:各ページは通常、コンテンツの密度に応じてページあたり1,500〜3,000トークンを使用します。標準のAPI料金が適用され、追加のPDF料金はありません。
  • 画像トークンコスト:各ページは画像に変換されるため、同じ画像ベースのコスト計算が適用されます。

トークンカウントを使用して、特定のPDFのコストを見積もることができます。


PDF処理の最適化

パフォーマンスの向上

最適な結果を得るために、以下のベストプラクティスに従ってください:

  • リクエスト内でPDFをテキストの前に配置する
  • 標準フォントを使用する
  • テキストが明確で読みやすいことを確認する
  • ページを適切な正立方向に回転させる
  • プロンプトで論理的なページ番号(PDFビューアーからの番号)を使用する
  • 必要に応じて大きなPDFをチャンクに分割する
  • 繰り返し分析のためにプロンプトキャッシングを有効にする

実装のスケーリング

大量処理の場合は、以下のアプローチを検討してください:

プロンプトキャッシングの使用

繰り返しクエリのパフォーマンスを向上させるためにPDFをキャッシュします:

client = anthropic.Anthropic()
# ...
message = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "document",
                    "source": {
                        "type": "base64",
                        "media_type": "application/pdf",
                        "data": pdf_data,
                    },
                    "cache_control": {"type": "ephemeral"},
                },
                {"type": "text", "text": "Analyze this document."},
            ],
        }
    ],
)

ドキュメントバッチの処理

大量のワークフローにはMessage Batches APIを使用します:

client = anthropic.Anthropic()
# ...
message_batch = client.messages.batches.create(
    requests=[
        {
            "custom_id": "doc1",
            "params": {
                "model": "claude-opus-4-8",
                "max_tokens": 1024,
                "messages": [
                    {
                        "role": "user",
                        "content": [
                            {
                                "type": "document",
                                "source": {
                                    "type": "base64",
                                    "media_type": "application/pdf",
                                    "data": pdf_data,
                                },
                            },
                            {"type": "text", "text": "Summarize this document."},
                        ],
                    }
                ],
            },
        }
    ]
)

次のステップ


PDFの例を試す


クックブックレシピでPDF処理の実践的な例を探索してください。


APIリファレンスを見る

PDFサポートの完全なAPIドキュメントをご覧ください。

Was this page helpful?

  • 始める前に
  • PDF要件の確認
  • サポートされているプラットフォームとモデル
  • Amazon BedrockのPDFサポート
  • ClaudeでPDFを処理する
  • 最初のPDFリクエストを送信する
  • PDFサポートの仕組み
  • コストの見積もり
  • PDF処理の最適化
  • パフォーマンスの向上
  • 実装のスケーリング
  • 次のステップ