pagescan#
A privacy-first document scanner for Python. Phone photo in, deskewed print-ready PDF out — without uploading anything to a cloud.
import pagescan
pagescan.scan("photo.jpg", "output.pdf")
That’s it. No service account, no API key, no network round-trip. The pre-trained models (~50 MB) download from Hugging Face Hub on first use and cache locally.
Why pagescan?#
No cloud round-trip. Everything runs locally; nothing leaves the machine.
Headless / scriptable. No GUI, no mobile dependency, batch-friendly.
Open weights. Hosted on Hugging Face under MIT-compatible licenses; auditable and fine-tunable.
Tuned for real-world phone photos. Wood tables, uneven lighting, hand occlusion, perspective tilt.
Built for regulated environments. EU data-residency requirements, on-prem deployments, scriptable pipelines.
If you need a mobile SDK, Apple’s VisionKit and Google’s ML Kit are excellent. If you need server/desktop/headless and care about data residency, pagescan is built for that case.
Get started#
Reference
Project
Project status#
pagescan is developed by 7R+ GmbH. The first public release on PyPI is 0.1.0. Until then, the API is stabilising — pin to an exact version if you depend on it from production code.