A client emailed me last month asking for the termination clause from a contract we'd scanned in 2019. I opened the PDF, hit Ctrl+F, typed "termination" — nothing. Tried "notice period" — nothing. The document was 40 pages long, and search insisted it contained no words at all.
It wasn't wrong. The scan was a picture of a contract, not a contract. Every page was a flat image with no text layer underneath, which means no search, no copy-paste, no quoting a clause into an email without retyping it. Multiply that by a few years of scanned invoices, signed agreements, and receipts, and my "archive" was really just a very well-organized pile of photographs.
The two-minute check
Before I fixed anything, I checked which files were actually broken. Plenty of PDFs that come out of modern office software already have a text layer — scanning is only one way a PDF gets made. The quick test: open the file, try to select a sentence with the mouse. If you can highlight words, it has text and you're done. If your cursor just drags a blue rectangle over the whole page like it's selecting an image, the page is image-only.
I ran that test across my archive folders and found the pattern I expected: everything that had ever passed through a scanner or a phone camera was image-only, and everything born digital was fine. The fix only needed to touch the first group.
The workflow I settled on
1. Gather the scans in batches. I process by month — one folder of invoices, one folder of contracts at a time. Batching matters because it keeps the output naming sane and because OCR is the slow step; I'd rather queue a folder than babysit files one by one. When a batch starts as loose phone photos rather than a PDF, I combine them first with a batch image step (image-batch is the one I use on PDFLean) so each document becomes a single file before recognition.
2. Run OCR to add a text layer. The tool I use (PDFLean's local OCR) builds what people call a dual-layer or "sandwich" PDF: the original scan stays exactly as it looks, and an invisible layer of recognized text sits underneath. Nothing about the document's appearance changes — signatures, stamps, and layout are untouched — but Ctrl+F, text selection, and copy-paste all start working. Because the OCR runs locally in the browser, the files never leave my machine, which matters when the folder is full of client contracts.
3. Verify before archiving. I spot-check three pages per document: search for a word I can see on the page, then copy a paragraph out and read it. Then the file goes into the archive with a name a human can guess — date, counterparty, document type — because now that the content is searchable, the filename matters less than it used to, but future-me still appreciates the help.
4. Archive the searchable copy, keep the original. I never overwrite the raw scan. Disk is cheap; re-scanning a paper document someone shredded in 2021 is not possible.
Where OCR honestly struggles
Recognition is good on clean, straight, printed pages. It degrades in predictable ways, and it's worth knowing the failure modes before you trust search results:
- Skewed pages. A scan fed through a document feeder at a slight angle will still OCR, but error rates climb. Straightening first helps more than any setting in the OCR step itself.
- Stamps and seals over text. A big red "PAID" stamp across an invoice total is charming on paper and destructive in OCR — characters underneath it are gone, and no tool invents them back. Search will miss those spots.
- Handwriting. Marginal notes, handwritten dates, initials in boxes: treat recognition of these as a pleasant surprise, not a feature. In my batches, printed text is reliable and handwriting mostly isn't.
- Low-resolution phone photos. Shadowed, 100-DPI captures of receipts produce text layers with typos. Fine for finding the file again, risky for quoting numbers out of it. For anything financial, I still eyeball the figure against the image.
None of this makes OCR not worth doing — a text layer that's 95% right turns "open and skim 40 pages" into a ten-second search. It just means search is a finding aid, not a proofreading guarantee.
A note on page counts
One practical thing I learned the hard way: OCR is usually the metered step in most toolkits. Free allowances for recognition tend to be counted in pages and sized for occasional use, while the paid tiers raise the page allowance rather than changing what the tool does. A year of my invoices runs to several hundred pages, so instead of feeding the whole archive through at once, I OCR in monthly batches as part of filing, and big backlogs get their own sitting. If you're evaluating any tool for this, the page allowance per tier is the number to compare — not the feature list, which is identical.
The archive test now: that 2019 contract answers Ctrl+F in under a second. It took an afternoon to fix six years of scans, and it's the highest-leverage afternoon I've spent on my own filing system.
Top comments (0)