Suporte a PDF
Processe PDFs com Claude: extraia texto, analise gráficos e compreenda o conteúdo visual dos seus documentos.
Você pode perguntar ao Claude sobre qualquer texto, imagem, gráfico e tabela nos PDFs que você fornecer. Alguns exemplos de casos de uso:
- Analisar relatórios financeiros e compreender gráficos/tabelas
- Extrair informações-chave de documentos jurídicos
- Auxiliar na tradução de documentos
- Converter informações de documentos em formatos estruturados
Antes de começar
Verifique os requisitos de PDF
Claude funciona com qualquer PDF padrão. Certifique-se de que o tamanho da sua requisição atenda a estes requisitos:
| Requisito | Limite |
|---|---|
| Tamanho máximo da requisição | 32 MB (varia por plataforma) |
| Máximo de páginas por requisição | 600 (100 quando a janela de contexto da requisição é inferior a 1M de tokens) |
| Formato | PDF padrão (sem senhas/criptografia) |
Ambos os limites se aplicam a todo o payload da requisição, incluindo qualquer outro conteúdo enviado junto com os PDFs. Para PDFs grandes, considere fazer o upload com a Files API e referenciá-los por file_id para manter os payloads das requisições pequenos.
Como o suporte a PDF depende das capacidades de visão do Claude, ele está sujeito às mesmas limitações e considerações que outras tarefas de visão.
Plataformas e modelos suportados
Todos os modelos ativos suportam o processamento de PDF. Para suporte a PDF por meio da Converse API do Amazon Bedrock, consulte Suporte a PDF no Amazon Bedrock.
Suporte a PDF no Amazon Bedrock
Ao usar o suporte a PDF por meio da Converse API, parte do Claude no Amazon Bedrock (Opus 4.6 e anteriores), existem dois modos distintos de processamento de documentos:
Modos de processamento de documentos
-
Converse Document Chat (Modo original - Apenas extração de texto)
- Fornece extração básica de texto de PDFs
- Não consegue analisar imagens, gráficos ou layouts visuais dentro de PDFs
- Usa aproximadamente 1.000 tokens para um PDF de 3 páginas
- Usado automaticamente quando as citações não estão habilitadas
-
Claude PDF Chat (Novo modo - Compreensão visual completa)
- Fornece análise visual completa de PDFs
- Consegue compreender e analisar gráficos, diagramas, imagens e layouts visuais
- Processa cada página tanto como texto quanto como imagem para uma compreensão abrangente
- Usa aproximadamente 7.000 tokens para um PDF de 3 páginas
- Requer que as citações estejam habilitadas na Converse API
Principais limitações
- Converse API: A análise visual de PDF requer que as citações estejam habilitadas. Atualmente não há opção para usar a análise visual sem citações (diferentemente da InvokeModel API).
- InvokeModel API: Fornece controle total sobre o processamento de PDF sem citações obrigatórias.
Problemas comuns
Se o Claude não estiver vendo imagens ou gráficos nos seus PDFs ao usar a Converse API, você provavelmente precisa habilitar a flag de citações. Sem ela, a Converse recorre apenas à extração básica de texto.
Processe PDFs com Claude
Envie sua primeira requisição com PDF
Comece com um exemplo simples usando a Messages API. Você pode fornecer PDFs ao Claude de três maneiras:
- Como uma referência de URL para um PDF hospedado online
- Como um PDF codificado em base64 em blocos de conteúdo
document - Por meio de um
file_idda Files API
Opção 1: Documento PDF baseado em URL
A abordagem mais simples é referenciar um PDF diretamente a partir de uma URL:
client = anthropic.Anthropic()
message = client.messages.create(
model="claude-opus-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)A resposta retorna a análise do Claude como blocos de texto em content, com o consumo de tokens em usage:
{
"id": "msg_01Hfp8YuFjQ55VgWbpdHDehB",
"type": "message",
"role": "assistant",
"model": "claude-opus-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
}
}Opção 2: Documento PDF codificado em base64
Se você precisar enviar PDFs do seu sistema local ou quando uma URL não estiver disponível:
import base64
import httpx2
# Primeiro, carregue e codifique o 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: carregar de um arquivo local
# with open("document.pdf", "rb") as f:
# pdf_data = base64.standard_b64encode(f.read()).decode("utf-8")
# Envie para o Claude usando codificação base64
client = anthropic.Anthropic()
message = client.messages.create(
model="claude-opus-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)Opção 3: Files API
Para PDFs que você usará repetidamente, ou quando quiser evitar a sobrecarga de codificação, use a Files API:
client = anthropic.Anthropic()
# Faça o upload do arquivo PDF
with open("/path/to/document.pdf", "rb") as f:
file_upload = client.files.upload(file=("document.pdf", f, "application/pdf"))
# Use o arquivo enviado em uma mensagem
message = client.messages.create(
model="claude-opus-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)Como funciona o suporte a PDF
Quando você envia um PDF ao Claude, ocorrem as seguintes etapas:
O sistema extrai o conteúdo do documento.
- O sistema converte cada página do documento em uma imagem.
- O texto de cada página é extraído e fornecido junto com a imagem de cada página.
Claude analisa tanto o texto quanto as imagens para compreender melhor o documento.
- Os documentos são fornecidos como uma combinação de texto e imagens para análise.
- Isso permite que os usuários peçam insights sobre elementos visuais de um PDF, como gráficos, diagramas e outros conteúdos não textuais.
Claude responde, referenciando o conteúdo do PDF, se relevante.
Claude pode referenciar tanto o conteúdo textual quanto o visual ao responder. Você pode melhorar ainda mais o desempenho integrando o suporte a PDF com:
- Use o cache de prompt: Para melhorar o desempenho em análises repetidas.
- Processe lotes de documentos: Para processamento de documentos em alto volume.
- Uso de ferramentas: Para extrair informações específicas de documentos para uso como entradas de ferramentas.
Estime seus custos
A contagem de tokens de um arquivo PDF depende do total de texto extraído do documento e do número de páginas:
- Custos de tokens de texto: Cada página normalmente usa de 1.500 a 3.000 tokens, dependendo da densidade do conteúdo. Aplica-se o preço padrão da API, sem taxas adicionais para PDF.
- Custos de tokens de imagem: Como cada página é convertida em uma imagem, são aplicados os mesmos cálculos de custo baseados em imagem.
Você pode usar a contagem de tokens para estimar os custos dos seus PDFs específicos.
Otimize o processamento de PDF
Melhore o desempenho
Siga estas práticas recomendadas para obter os melhores resultados:
- Coloque os PDFs antes do texto nas suas requisições
- Use fontes padrão
- Certifique-se de que o texto esteja claro e legível
- Gire as páginas para a orientação vertical correta
- Use números de página lógicos (do visualizador de PDF) nos prompts
- Divida PDFs grandes em partes quando necessário
- Habilite o cache de prompt para análises repetidas
Escale sua implementação
Para processamento em alto volume, considere estas abordagens:
Use o cache de prompt
Armazene PDFs em cache com o "prompt caching" (cache de prompt) para melhorar o desempenho em consultas repetidas:
import base64
import httpx2
# Primeiro, carregue e codifique o 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")
# Crie uma mensagem com o documento em cache
client = anthropic.Anthropic()
message = client.messages.create(
model="claude-opus-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)Processe lotes de documentos
Use a Message Batches API para processar muitos PDFs em uma única requisição:
import base64
import httpx2
# Primeiro, carregue e codifique o 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")
# Crie um lote de solicitações que usam o documento
client = anthropic.Anthropic()
message_batch = client.messages.batches.create(
requests=[
{
"custom_id": "my-first-request",
"params": {
"model": "claude-opus-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",
"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)Os lotes são processados de forma assíncrona. Para verificar o progresso e recuperar os resultados quando o processamento terminar, consulte Processamento em lote.
Próximos passos
As capacidades de visão do Claude permitem que ele compreenda e analise imagens, abrindo possibilidades empolgantes para a interação multimodal.
Explore exemplos práticos de processamento de PDF na receita do Claude Cookbook.
Consulte a documentação completa da API para o suporte a PDF.
Compatibility
| Supported platforms |
|
|---|
Was this page helpful?