Retrieval & Document Workflows

Scanned PDFs and Citations: What the API Cannot Attribute

Claude can read a scanned contract with its vision capability — but it cannot cite one. If your document set mixes scans and digital PDFs, that gap needs a plan.

Claude 3P 101 · Updated July 2026 · Unofficial guide

Enterprises rarely have clean document collections. A typical contract repository holds digitally generated PDFs with selectable text sitting next to decades of scans — images of paper with no text layer at all. Claude handles both for reading, but only one of them for citing, and the reason follows directly from how PDF processing and citations work.

How Claude processes a PDF — and where citations attach

When you send a PDF, the system does two things to every page: it converts the page into an image, and it extracts the page's text. Claude analyzes both together, which is why it can describe charts and read layouts — PDF support is subject to the same characteristics and limitations as other vision tasks. Citations, however, attach only to the text side. A PDF document with citations enabled has its extracted text sentence-chunked, and citations come back as 1-indexed page ranges (page_location) into that extracted text.

A scanned PDF has no extractable text — the "text" is pixels in an image. Anthropic's citations documentation is explicit on the consequence: scanned PDFs without extractable text are not citable, because only text citations are supported and image citations are not yet possible.

What this means for mixed document sets

The failure mode is subtle. Claude can still answer questions about a scanned page — the vision path sees the image — but the citations feature has nothing to point at. Two rules from the citations documentation shape how you handle a mixed corpus:

For a compliance-oriented workflow ("every claim must link to its source"), that means a silent coverage gap: the model's answer may rest partly on material your citation UI can never surface.

Fallback patterns that work today

1. Detect extractability upstream and route. A short script can classify each PDF as text-bearing or image-only before it reaches Claude (most PDF libraries expose whether a page has a text layer). Route text-bearing PDFs into your citation-enabled flow; route scans into a separate flow that answers with an explicit "source: scanned document, page N — manual verification required" label your application adds itself.

2. OCR the scans, then cite the OCR text. Run optical character recognition (OCR — software that converts images of text into machine-readable text) over scans before ingestion, and submit the result as a plain-text document or custom content document with citations enabled. Claude then cites the OCR output. Be honest in the UI that the cited text is an OCR transcription of the scan, since OCR errors become citable "facts". On AWS specifically, Bedrock Knowledge Bases can use Claude vision models as its document parser during ingestion, which converts complex layouts to indexable text — see Claude as a parsing model in Bedrock Knowledge Bases.

3. Accept vision-only answers for the scan subset. Where attribution is a nice-to-have rather than a requirement, send scans without citations and rely on page-level provenance your application already knows ("this answer came from document X, which you uploaded"). Coarse, but truthful.

Rule of thumb: decide per collection whether the citation guarantee is "Claude-verified passage" or "document-level pointer". Mixing the two in one UI without labeling them differently erodes trust in both.

Limits worth checking before you batch-process

PDF requests are capped at 32 MB total request size and 600 pages per request (100 pages when the model's context window is under 1M tokens); password-protected or encrypted PDFs are not supported. Each page costs roughly 1,500–3,000 tokens of text depending on density, plus image costs — and because every page is also processed as an image, dense scans can fill the context window well before the page limit. The docs recommend splitting large documents and downsampling embedded images.

Where to go next

For the basics of the document pipeline, see PDF support and citations; for controlling citation precision on OCR output, see custom content documents.

Sources