TrulyFreeOCR - Business-friendly Self-contained OCR with MRC compression

by•
TrulyFreeOCR is a self-contained Java CLI that turns scanned PDFs and images into searchable, compressed PDF documents. It applies MRC compression (PNG background + JBIG2/G4 foreground) to reduce file size while preserving readability — no Ghostscript, no Python runtime, no cloud APIs needed. A single fat JAR + bundled Tesseract is all you need. Apache 2.0 licensed for worry-free commercial use.

Add a comment

Replies

Best
Maker
📌
I built TrulyFreeOCR because every existing OCR solution had a catch: Tesseract needs system packages, cloud APIs need internet, PaddleOCR needs Python. This project packages everything you need into a single `bootstrap.sh`: - OpenJDK + Gradle + ONNX Runtime (all bundled) - PP-OCRv6 ONNX models (detection + recognition) - JBIG2 compression for small output PDFs - Zero network calls during OCR — runs fully offline I ran a detailed comparison on 10 pages of Sherlock Holmes: - Tesseract: 0.919 precision / 0.958 recall / 0.938 F1 - PaddleOCR (v6 medium): 0.929 precision / 0.746 recall / 0.828 F1 On handwriting, PaddleOCR detects text where Tesseract sees nothing (40 words vs 0 on a 1893 handwriting sample). It also supports --ocr-engine tesseract|paddle and --language en (v5 English model). Test it on your own scans and let me know what you find. The whole thing is at github.com/msmarkgu/TrulyFreeOCR

the single fat jar with tesseract bundled is a nice touch, dropped it on a stack of old scanned contracts and the search worked right away. file size dropped more than i expected with the mrc compression too.

 Thank you for trying it! Glad to hear it works for you.

honestly this looks super useful for anyone dealing with scanned archives, especially that no ghostscript dependency. one thing though, would be great if it could output to PDF/A format by default so the files are more archival friendly and pass long term preservation checks. that would honestly make it a no brainer for libraries and government use cases.

 Thank you for trying it and offering the idea! Let me think about it and see how it can be done.