您现在可以向 Claude 询问您提供的 PDF 中的任何文本、图片、图表和表格。一些示例用例:
- 分析财务报告并理解图表/表格
- 从法律文档中提取关键信息
- 文档翻译协助
- 将文档信息转换为结构化格式
开始之前
检查 PDF 要求
Claude 可以处理任何标准 PDF。但是,在使用 PDF 支持时,您应确保您的请求大小满足以下要求:
| 要求 | 限制 |
| 最大请求大小 | 32MB |
| 每个请求的最大页数 | 100 |
| 格式 | 标准 PDF(无密码/加密) |
请注意,这两个限制都适用于整个请求负载,包括与 PDF 一起发送的任何其他内容。
由于 PDF 支持依赖于 Claude 的视觉能力,它受到与其他视觉任务相同的限制和注意事项。
支持的平台和模型
PDF 支持目前通过直接 API 访问和 Google Vertex AI 支持。所有活跃模型都支持 PDF 处理。
PDF 支持现在在 Amazon Bedrock 上可用,具有以下注意事项:
Amazon Bedrock PDF 支持
通过 Amazon Bedrock 的 Converse API 使用 PDF 支持时,有两种不同的文档处理模式:
重要:要在 Converse API 中访问 Claude 的完整视觉 PDF 理解能力,您必须启用引用。如果没有启用引用,API 会回退到仅基本文本提取。了解更多关于使用引用的信息。
文档处理模式
-
Converse 文档聊天(原始模式 - 仅文本提取)
- 提供 PDF 的基本文本提取
- 无法分析 PDF 中的图像、图表或视觉布局
- 3 页 PDF 大约使用 1,000 个令牌
- 当未启用引用时自动使用
-
Claude PDF 聊天(新模式 - 完整视觉理解)
- 提供 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。
对于非 PDF 文件,如 .csv、.xlsx、.docx、.md 或 .txt 文件,请参阅使用其他文件格式。
使用 Claude 处理 PDF
发送您的第一个 PDF 请求
让我们从使用 Messages API 的简单示例开始。您可以通过三种方式向 Claude 提供 PDF:
- 作为在线托管的 PDF 的 URL 引用
- 作为
document 内容块中的 base64 编码 PDF
- 通过Files API的
file_id
选项 1:基于 URL 的 PDF 文档
最简单的方法是直接从 URL 引用 PDF:
curl https://api.anthropic.com/v1/messages \
-H "content-type: application/json" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-d '{
"model": "claude-sonnet-4-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?"
}]
}]
}'
选项 2:Base64 编码的 PDF 文档
如果您需要从本地系统发送 PDF 或当 URL 不可用时:
# 方法 1:获取并编码远程 PDF
curl -s "https://assets.anthropic.com/m/1cd9d098ac3e6467/original/Claude-3-Model-Card-October-Addendum.pdf" | base64 | tr -d '\n' > pdf_base64.txt
# 方法 2:编码本地 PDF 文件
# base64 document.pdf | tr -d '\n' > pdf_base64.txt
# 使用 pdf_base64.txt 内容创建 JSON 请求文件
jq -n --rawfile PDF_BASE64 pdf_base64.txt '{
"model": "claude-sonnet-4-5",
"max_tokens": 1024,
"messages": [{
"role": "user",
"content": [{
"type": "document",
"source": {
"type": "base64",
"media_type": "application/pdf",
"data": $PDF_BASE64
}
},
{
"type": "text",
"text": "What are the key findings in this document?"
}]
}]
}' > request.json
# 使用 JSON 文件发送 API 请求
curl https://api.anthropic.com/v1/messages \
-H "content-type: application/json" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-d @request.json
选项 3:Files API
对于您将重复使用的 PDF,或当您想要避免编码开销时,使用Files API:
# 首先,将您的 PDF 上传到 Files API
curl -X POST https://api.anthropic.com/v1/files \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: files-api-2025-04-14" \
-F "file=@document.pdf"
# 然后在您的消息中使用返回的 file_id
curl https://api.anthropic.com/v1/messages \
-H "content-type: application/json" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: files-api-2025-04-14" \
-d '{
"model": "claude-sonnet-4-5",
"max_tokens": 1024,
"messages": [{
"role": "user",
"content": [{
"type": "document",
"source": {
"type": "file",
"file_id": "file_abc123"
}
},
{
"type": "text",
"text": "What are the key findings in this document?"
}]
}]
}'
PDF 支持的工作原理
当您向 Claude 发送 PDF 时,会发生以下步骤:
系统提取文档的内容。
- 系统将文档的每一页转换为图像。
- 从每一页提取文本,并与每页的图像一起提供。
Claude 分析文本和图像以更好地理解文档。
- 文档作为文本和图像的组合提供以进行分析。
- 这允许用户询问 PDF 视觉元素的见解,如图表、图形和其他非文本内容。
Claude 响应,如果相关则引用 PDF 的内容。
Claude 在响应时可以引用文本和视觉内容。您可以通过将 PDF 支持与以下功能集成来进一步提高性能:
- 提示缓存:提高重复分析的性能。
- 批处理:用于大量文档处理。
- 工具使用:从文档中提取特定信息以用作工具输入。
估算您的成本
PDF 文件的令牌计数取决于从文档中提取的总文本以及页数:
- 文本令牌成本:每页通常使用 1,500-3,000 个令牌,具体取决于内容密度。适用标准 API 定价,无额外 PDF 费用。
- 图像令牌成本:由于每页都转换为图像,因此适用相同的基于图像的成本计算。
您可以使用令牌计数来估算特定 PDF 的成本。
优化 PDF 处理
提高性能
遵循这些最佳实践以获得最佳结果:
- 在请求中将 PDF 放在文本之前
- 使用标准字体
- 确保文本清晰易读
- 将页面旋转到正确的直立方向
- 在提示中使用逻辑页码(来自 PDF 查看器)
- 需要时将大型 PDF 分割成块
- 为重复分析启用提示缓存
扩展您的实现
对于大量处理,请考虑以下方法:
使用提示缓存
缓存 PDF 以提高重复查询的性能:
# 使用 pdf_base64.txt 内容创建 JSON 请求文件
jq -n --rawfile PDF_BASE64 pdf_base64.txt '{
"model": "claude-sonnet-4-5",
"max_tokens": 1024,
"messages": [{
"role": "user",
"content": [{
"type": "document",
"source": {
"type": "base64",
"media_type": "application/pdf",
"data": $PDF_BASE64
},
"cache_control": {
"type": "ephemeral"
}
},
{
"type": "text",
"text": "Which model has the highest human preference win rates across each use-case?"
}]
}]
}' > request.json
# 然后使用 JSON 文件进行 API 调用
curl https://api.anthropic.com/v1/messages \
-H "content-type: application/json" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-d @request.json
处理文档批次
使用 Message Batches API 进行大量工作流程:
# 使用 pdf_base64.txt 内容创建 JSON 请求文件
jq -n --rawfile PDF_BASE64 pdf_base64.txt '
{
"requests": [
{
"custom_id": "my-first-request",
"params": {
"model": "claude-sonnet-4-5",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": [
{
"type": "document",
"source": {
"type": "base64",
"media_type": "application/pdf",
"data": $PDF_BASE64
}
},
{
"type": "text",
"text": "Which model has the highest human preference win rates across each use-case?"
}
]
}
]
}
},
{
"custom_id": "my-second-request",
"params": {
"model": "claude-sonnet-4-5",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": [
{
"type": "document",
"source": {
"type": "base64",
"media_type": "application/pdf",
"data": $PDF_BASE64
}
},
{
"type": "text",
"text": "Extract 5 key insights from this document."
}
]
}
]
}
}
]
}
' > request.json
# 然后使用 JSON 文件进行 API 调用
curl https://api.anthropic.com/v1/messages/batches \
-H "content-type: application/json" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-d @request.json
下一步