OCR / README.md
Eyob-Sol's picture
Update README.md
116d08c verified
|
Raw
History Blame Contribute Delete
2.51 kB
---
title: OCR & Document AI (PaddleOCR + EasyOCR)
emoji: 🧾
colorFrom: blue
colorTo: green
sdk: gradio
sdk_version: "5.0.0"
app_file: app.py
pinned: false
---
# OCR & Document AI Pipeline (PaddleOCR + EasyOCR)
A production-flavored OCR pipeline for images and PDFs.
It rasterizes PDFs to images (via PyMuPDF), performs OCR with **PaddleOCR** (high-quality, multilingual) or **EasyOCR** (lightweight fallback), and returns structured JSON (bounding boxes, text, confidence). Includes a web demo with image/PDF previews and JSON download.
> **Ethics note:** Process only documents you own or are authorized to use. Handle sensitive data responsibly.
------------------------------------------------------------
Features
------------------------------------------------------------
- Images and PDFs (page rendering via PyMuPDF)
- OCR with **PaddleOCR** (multilingual, high-quality) or **EasyOCR** (fallback)
- Clean JSON schema per text block (page, bbox, text, confidence)
- Gradio demo with image preview, PDF first-page preview, and JSON export
- CLI for batch jobs (local use)
------------------------------------------------------------
Quickstart (Local)
------------------------------------------------------------
1) Create & activate a virtual environment
macOS / Linux:
python3 -m venv .venv
source .venv/bin/activate
Windows PowerShell:
python -m venv .venv
.\.venv\Scripts\Activate.ps1
2) Install dependencies
pip install --upgrade pip
pip install -r requirements.txt
3) Try the CLI
# Add a sample image or PDF into examples/input/
python -m ocrpkg.core examples/input examples/output --lang en
4) Run the demo
python app.py
# Open the local URL in your browser, upload a file, and download results.
------------------------------------------------------------
Output Format
------------------------------------------------------------
Each OCR block (JSON):
{
"page": 1,
"bbox": [100, 200, 250, 240],
"text": "Invoice #1234",
"confidence": 0.92
}
------------------------------------------------------------
Tech Stack
------------------------------------------------------------
- PaddleOCR (primary OCR engine)
- EasyOCR (fallback engine)
- PyMuPDF (PDF rendering)
- OpenCV + Pillow (preprocessing)
- Pydantic (schema)
- Gradio (demo UI)
- Click (CLI)
------------------------------------------------------------
License
------------------------------------------------------------
MIT License. Respect the license of third-party models and libraries.