Claude Platform Docs
  • Messages
  • Managed Agents
  • 관리자

Search...
⌘K
첫 단계
Claude 소개빠른 시작
Claude로 빌드하기
기능 개요Messages API 사용하기중지 이유 및 폴백거부 및 폴백폴백 크레딧
모델 기능
확장 사고적응형 사고Effort작업 예산 (베타)고속 모드 (리서치 프리뷰)구조화된 출력인용스트리밍 메시지배치 처리검색 결과스트리밍 거부다국어 지원임베딩
도구
개요도구 사용 작동 방식튜토리얼: 도구 사용 에이전트 빌드하기도구 정의도구 호출 처리병렬 도구 사용Tool Runner (SDK)엄격한 도구 사용프롬프트 캐싱과 도구 사용서버 도구문제 해결웹 검색 도구웹 가져오기 도구코드 실행 도구어드바이저 도구메모리 도구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
Messages/파일 작업

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 지원을 사용할 때는 두 가지 별개의 문서 처리 모드가 있습니다:



중요: 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를 사용한 간단한 예제부터 시작해 보겠습니다. Claude에 PDF를 제공하는 방법은 세 가지가 있습니다:

  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 지원 작동 방식

Claude에 PDF를 보내면 다음 단계가 수행됩니다:

  1. 1

    시스템이 문서의 내용을 추출합니다.

    • 시스템은 문서의 각 페이지를 이미지로 변환합니다.
    • 각 페이지의 텍스트가 추출되어 각 페이지의 이미지와 함께 제공됩니다.
  2. 2

    Claude는 문서를 더 잘 이해하기 위해 텍스트와 이미지를 모두 분석합니다.

    • 문서는 분석을 위해 텍스트와 이미지의 조합으로 제공됩니다.
    • 이를 통해 사용자는 차트, 다이어그램 및 기타 비텍스트 콘텐츠와 같은 PDF의 시각적 요소에 대한 인사이트를 요청할 수 있습니다.
  3. 3

    Claude는 관련이 있는 경우 PDF의 내용을 참조하여 응답합니다.

    Claude는 응답할 때 텍스트 및 시각적 콘텐츠를 모두 참조할 수 있습니다. PDF 지원을 다음과 통합하여 성능을 더욱 향상시킬 수 있습니다:

    • 프롬프트 캐싱: 반복 분석의 성능을 향상시키기 위해.
    • 배치 처리: 대량 문서 처리를 위해.
    • 도구 사용: 문서에서 특정 정보를 추출하여 도구 입력으로 사용하기 위해.

비용 추정

PDF 파일의 토큰 수는 문서에서 추출된 전체 텍스트와 페이지 수에 따라 달라집니다:

  • 텍스트 토큰 비용: 각 페이지는 콘텐츠 밀도에 따라 일반적으로 페이지당 1,500-3,000개의 토큰을 사용합니다. 추가 PDF 요금 없이 표준 API 가격이 적용됩니다.
  • 이미지 토큰 비용: 각 페이지가 이미지로 변환되므로 동일한 이미지 기반 비용 계산이 적용됩니다.

토큰 계산을 사용하여 특정 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 처리 최적화
  • 성능 향상
  • 구현 확장
  • 다음 단계