Claude Platform Docs
MessagesArbeiten mit Dateien

PDF-Unterstützung

Verarbeite PDFs mit Claude: Extrahiere Text, analysiere Diagramme und verstehe visuelle Inhalte aus deinen Dokumenten.

Du kannst Claude zu beliebigen Texten, Bildern, Diagrammen und Tabellen in den von dir bereitgestellten PDFs befragen. Einige Beispielanwendungsfälle:

  • Analyse von Finanzberichten und Verständnis von Diagrammen/Tabellen
  • Extraktion wichtiger Informationen aus juristischen Dokumenten
  • Unterstützung bei der Übersetzung von Dokumenten
  • Umwandlung von Dokumentinformationen in strukturierte Formate

Bevor du beginnst

PDF-Anforderungen prüfen

Claude funktioniert mit jedem Standard-PDF. Stelle sicher, dass deine Anfragegröße diese Anforderungen erfüllt:

AnforderungLimit
Maximale Anfragegröße32 MB (variiert je nach Plattform)
Maximale Seitenzahl pro Anfrage600 (100, wenn das Kontextfenster der Anfrage unter 1M Token liegt)
FormatStandard-PDF (keine Passwörter/Verschlüsselung)

Beide Limits gelten für die gesamte Anfrage-Payload, einschließlich aller anderen Inhalte, die zusammen mit PDFs gesendet werden. Bei großen PDFs solltest du in Erwägung ziehen, sie mit der Files API hochzuladen und per file_id zu referenzieren, um die Anfrage-Payloads klein zu halten.

Da die PDF-Unterstützung auf den Vision-Fähigkeiten von Claude beruht, unterliegt sie denselben Einschränkungen und Überlegungen wie andere Vision-Aufgaben.

Unterstützte Plattformen und Modelle

Alle aktiven Modelle unterstützen die PDF-Verarbeitung. Für PDF-Unterstützung über die Converse API von Amazon Bedrock siehe PDF-Unterstützung in Amazon Bedrock.

PDF-Unterstützung in Amazon Bedrock

Bei der Nutzung der PDF-Unterstützung über die Converse API, Teil von Claude auf Amazon Bedrock (Opus 4.6 und früher), gibt es zwei unterschiedliche Dokumentverarbeitungsmodi:

Dokumentverarbeitungsmodi

  1. Converse Document Chat (Ursprünglicher Modus – nur Textextraktion)

    • Bietet grundlegende Textextraktion aus PDFs
    • Kann keine Bilder, Diagramme oder visuellen Layouts innerhalb von PDFs analysieren
    • Verwendet ungefähr 1.000 Token für ein 3-seitiges PDF
    • Wird automatisch verwendet, wenn Zitate nicht aktiviert sind
  2. Claude PDF Chat (Neuer Modus – vollständiges visuelles Verständnis)

    • Bietet vollständige visuelle Analyse von PDFs
    • Kann Diagramme, Grafiken, Bilder und visuelle Layouts verstehen und analysieren
    • Verarbeitet jede Seite sowohl als Text als auch als Bild für ein umfassendes Verständnis
    • Verwendet ungefähr 7.000 Token für ein 3-seitiges PDF
    • Erfordert aktivierte Zitate in der Converse API

Wichtige Einschränkungen

  • Converse API: Die visuelle PDF-Analyse erfordert aktivierte Zitate. Es gibt derzeit keine Möglichkeit, die visuelle Analyse ohne Zitate zu nutzen (anders als bei der InvokeModel API).
  • InvokeModel API: Bietet volle Kontrolle über die PDF-Verarbeitung ohne erzwungene Zitate.

Häufige Probleme

Wenn Claude bei Verwendung der Converse API keine Bilder oder Diagramme in deinen PDFs sieht, musst du wahrscheinlich das Citations-Flag aktivieren. Ohne dieses fällt Converse auf reine Textextraktion zurück.

PDFs mit Claude verarbeiten

Sende deine erste PDF-Anfrage

Beginne mit einem einfachen Beispiel unter Verwendung der Messages API. Du kannst Claude PDFs auf drei Arten bereitstellen:

  1. Als URL-Referenz auf ein online gehostetes PDF
  2. Als base64-kodiertes PDF in document-Inhaltsblöcken
  3. Über eine file_id aus der Files API

Option 1: URL-basiertes PDF-Dokument

Der einfachste Ansatz ist, ein PDF direkt über eine URL zu referenzieren:

client = anthropic.Anthropic()
message = client.messages.create(
    model="claude-opus-5-5",
    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)

Die Antwort gibt die Analyse von Claude als Textblöcke in content zurück, mit dem Tokenverbrauch in usage:

Output
{
  "id": "msg_01Hfp8YuFjQ55VgWbpdHDehB",
  "type": "message",
  "role": "assistant",
  "model": "claude-opus-5-5",
  "content": [
    {
      "type": "text",
      "text": "This document is an addendum to the Claude 3 model card, reporting updated evaluation results. The key findings include..."
    }
  ],
  "stop_reason": "end_turn",
  "usage": {
    "input_tokens": 45000,
    "output_tokens": 300
  }
}

Option 2: Base64-kodiertes PDF-Dokument

Wenn du PDFs von deinem lokalen System senden musst oder wenn keine URL verfügbar ist:

import base64
import httpx2

# Lade und kodiere zuerst das PDF
pdf_url = "https://assets.anthropic.com/m/1cd9d098ac3e6467/original/Claude-3-Model-Card-October-Addendum.pdf"
pdf_data = base64.standard_b64encode(
    httpx2.get(pdf_url, follow_redirects=True).content
).decode("utf-8")

# Alternative: Aus einer lokalen Datei laden
# with open("document.pdf", "rb") as f:
#     pdf_data = base64.standard_b64encode(f.read()).decode("utf-8")

# Mit Base64-Kodierung an Claude senden
client = anthropic.Anthropic()
message = client.messages.create(
    model="claude-opus-5-5",
    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)

Option 3: Files API

Für PDFs, die du wiederholt verwenden wirst, oder wenn du den Kodierungsaufwand vermeiden möchtest, verwende die Files API:

client = anthropic.Anthropic()

# Lade die PDF-Datei hoch
with open("/path/to/document.pdf", "rb") as f:
    file_upload = client.files.upload(file=("document.pdf", f, "application/pdf"))

# Verwende die hochgeladene Datei in einer Nachricht
message = client.messages.create(
    model="claude-opus-5-5",
    max_tokens=1024,
    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)

So funktioniert die PDF-Unterstützung

Wenn du ein PDF an Claude sendest, laufen die folgenden Schritte ab:

  1. Das System extrahiert die Inhalte des Dokuments.

    • Das System wandelt jede Seite des Dokuments in ein Bild um.
    • Der Text jeder Seite wird extrahiert und zusammen mit dem Bild der jeweiligen Seite bereitgestellt.
  2. Claude analysiert sowohl den Text als auch die Bilder, um das Dokument besser zu verstehen.

    • Dokumente werden als Kombination aus Text und Bildern zur Analyse bereitgestellt.
    • Dies ermöglicht es Nutzern, Erkenntnisse zu visuellen Elementen eines PDFs anzufragen, wie Diagrammen, Schaubildern und anderen nicht-textuellen Inhalten.
  3. Claude antwortet und bezieht sich dabei, falls relevant, auf die Inhalte des PDFs.

    Claude kann sich bei seiner Antwort sowohl auf textuelle als auch auf visuelle Inhalte beziehen. Du kannst die Leistung weiter verbessern, indem du die PDF-Unterstützung mit Folgendem kombinierst:

Schätze deine Kosten

Die Tokenanzahl einer PDF-Datei hängt vom gesamten aus dem Dokument extrahierten Text und der Anzahl der Seiten ab:

  • Text-Tokenkosten: Jede Seite verwendet typischerweise 1.500–3.000 Token pro Seite, abhängig von der Inhaltsdichte. Es gilt die Standard-API-Preisgestaltung ohne zusätzliche PDF-Gebühren.
  • Bild-Tokenkosten: Da jede Seite in ein Bild umgewandelt wird, werden dieselben bildbasierten Kostenberechnungen angewendet.

Du kannst die Token-Zählung verwenden, um die Kosten für deine spezifischen PDFs zu schätzen.

PDF-Verarbeitung optimieren

Leistung verbessern

Befolge diese Best Practices für optimale Ergebnisse:

  • Platziere PDFs in deinen Anfragen vor dem Text
  • Verwende Standardschriftarten
  • Stelle sicher, dass der Text klar und lesbar ist
  • Drehe Seiten in die korrekte aufrechte Ausrichtung
  • Verwende logische Seitenzahlen (aus dem PDF-Viewer) in Prompts
  • Teile große PDFs bei Bedarf in Abschnitte auf
  • Aktiviere Prompt-Caching für wiederholte Analysen

Skaliere deine Implementierung

Für die Verarbeitung großer Mengen solltest du diese Ansätze in Betracht ziehen:

Prompt-Caching verwenden

Cache PDFs mit Prompt-Caching, um die Leistung bei wiederholten Abfragen zu verbessern:

import base64
import httpx2

# Lade und kodiere zuerst das PDF
pdf_url = "https://assets.anthropic.com/m/1cd9d098ac3e6467/original/Claude-3-Model-Card-October-Addendum.pdf"
pdf_data = base64.standard_b64encode(
    httpx2.get(pdf_url, follow_redirects=True).content
).decode("utf-8")

# Erstelle eine Nachricht mit dem gecachten Dokument
client = anthropic.Anthropic()
message = client.messages.create(
    model="claude-opus-5-5",
    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": "Which model has the highest human preference win rates across each use-case?",
                },
            ],
        }
    ],
)

print(message.content)

Dokument-Batches verarbeiten

Verwende die Message Batches API, um viele PDFs in einer Anfrage zu verarbeiten:

import base64
import httpx2

# Lade und kodiere zuerst das PDF
pdf_url = "https://assets.anthropic.com/m/1cd9d098ac3e6467/original/Claude-3-Model-Card-October-Addendum.pdf"
pdf_data = base64.standard_b64encode(
    httpx2.get(pdf_url, follow_redirects=True).content
).decode("utf-8")

# Erstelle einen Batch von Anfragen, die das Dokument verwenden
client = anthropic.Anthropic()
message_batch = client.messages.batches.create(
    requests=[
        {
            "custom_id": "my-first-request",
            "params": {
                "model": "claude-opus-5-5",
                "max_tokens": 1024,
                "messages": [
                    {
                        "role": "user",
                        "content": [
                            {
                                "type": "document",
                                "source": {
                                    "type": "base64",
                                    "media_type": "application/pdf",
                                    "data": pdf_data,
                                },
                            },
                            {
                                "type": "text",
                                "text": "Which model has the highest human preference win rates across each use-case?",
                            },
                        ],
                    }
                ],
            },
        },
        {
            "custom_id": "my-second-request",
            "params": {
                "model": "claude-opus-5-5",
                "max_tokens": 1024,
                "messages": [
                    {
                        "role": "user",
                        "content": [
                            {
                                "type": "document",
                                "source": {
                                    "type": "base64",
                                    "media_type": "application/pdf",
                                    "data": pdf_data,
                                },
                            },
                            {
                                "type": "text",
                                "text": "Extract 5 key insights from this document.",
                            },
                        ],
                    }
                ],
            },
        },
    ]
)

print(message_batch)

Batches werden asynchron verarbeitet. Um den Fortschritt zu prüfen und die Ergebnisse nach Abschluss der Verarbeitung abzurufen, siehe Batch-Verarbeitung.

Nächste Schritte

Die Vision-Fähigkeiten von Claude ermöglichen es, Bilder zu verstehen und zu analysieren, was spannende Möglichkeiten für multimodale Interaktion eröffnet.

Erkunde praktische Beispiele zur PDF-Verarbeitung im Claude Cookbook-Rezept.

Sieh dir die vollständige API-Dokumentation zur PDF-Unterstützung an.

Compatibility

Supported platforms
  • Claude API
  • Claude Platform on AWS
  • Amazon Bedrock
  • Google Cloud
  • Microsoft Foundry

Was this page helpful?