What it is
You have a stack of scanned pages — a service manual, a textbook, archival documents. They're images: you can't search them, copy text, or jump to a page. This pipeline fixes that, producing a searchable PDF where the text layer hugs the original scan.
It grew out of a ground-up rewire of a 2000 Chevy S10: hundreds of pages of factory service-manual schematics that needed OCR'ing so every wire label could carry the manual's exact page number. When a misaligned text layer means a wrong wire, you build the QC gates first and the pipeline second.
How it works
- OCR — deskew, enhance, and OCR each page into per-page data.
- Build — assemble the searchable PDF with the invisible text layer.
- Check — visual QC: the detected text boxes must hug the scanned text.
- QC gates — the production audit as build-failing checks: bbox alignment, file integrity, dewarped-original parity, encoding sanity, duplicate/missing pages.
Every step is config-driven. Different document types get different processing profiles — default for generic documents, service-manual for vehicle manuals with rotated schematics and pinout tables (validated on 100/100 pilot pages). Swap the config to adapt it to your documents; never touch code.
Privacy
Everything runs on your machine. No network calls, no telemetry, no cloud — your documents never leave your computer.
One honest note: the pipeline is FOSS (MIT), but the documents you process with it may not be. Don't redistribute scanned copyrighted material — use it on documents you own or have the right to process.
Status
Released. Vulnerability reporting policy published 2026-10-09.
Built with
Standing on the shoulders of Python, RapidOCR, OpenCV, and PyMuPDF.