Claude Platform Docs
MessagesLavorare con i file

Supporto PDF

Elabora PDF con Claude: estrai testo, analizza grafici e comprendi i contenuti visivi dei tuoi documenti.

Puoi chiedere a Claude informazioni su qualsiasi testo, immagine, grafico e tabella presente nei PDF che fornisci. Alcuni casi d'uso di esempio:

  • Analizzare report finanziari e comprendere grafici/tabelle
  • Estrarre informazioni chiave da documenti legali
  • Assistere nella traduzione di documenti
  • Convertire le informazioni dei documenti in formati strutturati

Prima di iniziare

Verifica i requisiti dei PDF

Claude funziona con qualsiasi PDF standard. Assicurati che la dimensione della tua richiesta rispetti questi requisiti:

RequisitoLimite
Dimensione massima della richiesta32 MB (varia in base alla piattaforma)
Numero massimo di pagine per richiesta600 (100 quando la finestra di contesto della richiesta è inferiore a 1M di token)
FormatoPDF standard (senza password/crittografia)

Entrambi i limiti si applicano all'intero payload della richiesta, incluso qualsiasi altro contenuto inviato insieme ai PDF. Per PDF di grandi dimensioni, valuta di caricarli con la Files API e di referenziarli tramite file_id per mantenere ridotti i payload delle richieste.

Poiché il supporto PDF si basa sulle capacità di visione di Claude, è soggetto alle stesse limitazioni e considerazioni degli altri compiti di visione.

Piattaforme e modelli supportati

Tutti i modelli attivi supportano l'elaborazione dei PDF. Per il supporto PDF tramite la Converse API di Amazon Bedrock, consulta Supporto PDF su Amazon Bedrock.

Supporto PDF su Amazon Bedrock

Quando si usa il supporto PDF tramite la Converse API, parte di Claude su Amazon Bedrock (Opus 4.6 e precedenti), esistono due modalità distinte di elaborazione dei documenti:

Modalità di elaborazione dei documenti

  1. Converse Document Chat (Modalità originale - Solo estrazione di testo)

    • Fornisce l'estrazione di testo di base dai PDF
    • Non può analizzare immagini, grafici o layout visivi all'interno dei PDF
    • Usa circa 1.000 token per un PDF di 3 pagine
    • Usata automaticamente quando le citazioni non sono abilitate
  2. Claude PDF Chat (Nuova modalità - Comprensione visiva completa)

    • Fornisce un'analisi visiva completa dei PDF
    • Può comprendere e analizzare grafici, diagrammi, immagini e layout visivi
    • Elabora ogni pagina sia come testo sia come immagine per una comprensione completa
    • Usa circa 7.000 token per un PDF di 3 pagine
    • Richiede che le citazioni siano abilitate nella Converse API

Limitazioni principali

  • Converse API: L'analisi visiva dei PDF richiede che le citazioni siano abilitate. Attualmente non esiste un'opzione per usare l'analisi visiva senza citazioni (a differenza della InvokeModel API).
  • InvokeModel API: Fornisce il controllo completo sull'elaborazione dei PDF senza citazioni forzate.

Problemi comuni

Se Claude non vede immagini o grafici nei tuoi PDF quando usi la Converse API, probabilmente devi abilitare il flag delle citazioni. Senza di esso, Converse ripiega sulla sola estrazione di testo di base.

Elabora PDF con Claude

Invia la tua prima richiesta PDF

Inizia con un semplice esempio usando la Messages API. Puoi fornire PDF a Claude in tre modi:

  1. Come riferimento URL a un PDF ospitato online
  2. Come PDF codificato in base64 in blocchi di contenuto document
  3. Tramite un file_id dalla Files API

Opzione 1: Documento PDF basato su URL

L'approccio più semplice è referenziare un PDF direttamente da un URL:

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)

La risposta restituisce l'analisi di Claude come blocchi di testo in content, con il consumo di token 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
  }
}

Opzione 2: Documento PDF codificato in base64

Se devi inviare PDF dal tuo sistema locale o quando un URL non è disponibile:

import base64
import httpx2

# Per prima cosa, carica e codifica il 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")

# Alternativa: carica da un file locale
# with open("document.pdf", "rb") as f:
#     pdf_data = base64.standard_b64encode(f.read()).decode("utf-8")

# Invia a Claude usando la codifica base64
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)

Opzione 3: Files API

Per i PDF che userai ripetutamente, o quando vuoi evitare l'overhead della codifica, usa la Files API:

client = anthropic.Anthropic()

# Carica il file PDF
with open("/path/to/document.pdf", "rb") as f:
    file_upload = client.files.upload(file=("document.pdf", f, "application/pdf"))

# Usa il file caricato in un messaggio
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)

Come funziona il supporto PDF

Quando invii un PDF a Claude, si verificano i seguenti passaggi:

  1. Il sistema estrae i contenuti del documento.

    • Il sistema converte ogni pagina del documento in un'immagine.
    • Il testo di ogni pagina viene estratto e fornito insieme all'immagine di ciascuna pagina.
  2. Claude analizza sia il testo sia le immagini per comprendere meglio il documento.

    • I documenti vengono forniti come combinazione di testo e immagini per l'analisi.
    • Questo consente agli utenti di chiedere approfondimenti sugli elementi visivi di un PDF, come grafici, diagrammi e altri contenuti non testuali.
  3. Claude risponde, facendo riferimento ai contenuti del PDF se pertinente.

    Claude può fare riferimento sia ai contenuti testuali sia a quelli visivi quando risponde. Puoi migliorare ulteriormente le prestazioni integrando il supporto PDF con:

Stima i tuoi costi

Il conteggio dei token di un file PDF dipende dal testo totale estratto dal documento e dal numero di pagine:

  • Costi dei token di testo: ogni pagina usa tipicamente 1.500–3.000 token per pagina a seconda della densità del contenuto. Si applicano i prezzi standard dell'API senza costi aggiuntivi per i PDF.
  • Costi dei token delle immagini: poiché ogni pagina viene convertita in un'immagine, si applicano gli stessi calcoli dei costi basati sulle immagini.

Puoi usare il conteggio dei token per stimare i costi dei tuoi PDF specifici.

Ottimizza l'elaborazione dei PDF

Migliora le prestazioni

Segui queste best practice per risultati ottimali:

  • Posiziona i PDF prima del testo nelle tue richieste
  • Usa font standard
  • Assicurati che il testo sia chiaro e leggibile
  • Ruota le pagine nell'orientamento verticale corretto
  • Usa i numeri di pagina logici (dal visualizzatore PDF) nei prompt
  • Suddividi i PDF di grandi dimensioni in parti quando necessario
  • Abilita la cache dei prompt per le analisi ripetute

Scala la tua implementazione

Per l'elaborazione ad alto volume, valuta questi approcci:

Usa la cache dei prompt

Memorizza nella cache i PDF con il "prompt caching" (cache dei prompt) per migliorare le prestazioni nelle query ripetute:

import base64
import httpx2

# Per prima cosa, carica e codifica il 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")

# Crea un messaggio con il documento in cache
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)

Elabora batch di documenti

Usa la Message Batches API per elaborare molti PDF in un'unica richiesta:

import base64
import httpx2

# Per prima cosa, carica e codifica il 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")

# Crea un batch di richieste che usano il documento
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)

I batch vengono elaborati in modo asincrono. Per controllare l'avanzamento e recuperare i risultati al termine dell'elaborazione, consulta Elaborazione batch.

Prossimi passi

Le capacità di visione di Claude gli consentono di comprendere e analizzare immagini, aprendo entusiasmanti possibilità di interazione multimodale.

Esplora esempi pratici di elaborazione dei PDF nella ricetta del Claude Cookbook.

Consulta la documentazione API completa per il supporto PDF.

Compatibility

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

Was this page helpful?