A web application for Optical Character Recognition (OCR) that supports both printed and handwritten text recognition. The application uses PaddleOCR for handwritten text and Tesseract.js for printed text.
- Support for both printed and handwritten text recognition
- Multiple language support
- PDF and image file processing
- Text summarization
- Export functionality (PDF and DOCX)
- Real-time processing status
- Detailed OCR configuration options
- React
- TypeScript
- Tesseract.js
- PDF.js
- React Dropzone
- React Toastify
- FastAPI
- PaddleOCR
- Python
- OpenCV
- NumPy
- Python 3.8+
- Node.js 14+
- npm or yarn
- Create a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- Install Python dependencies:
pip install -r requirements.txt- Start the backend server:
uvicorn app.main:app --reload- Install dependencies:
cd frontend
npm install- Start the development server:
npm run dev- Open the application in your browser (default: http://localhost:5173)
- Upload an image or PDF file
- Select the document language
- Choose between handwritten or printed text
- Click "Extract Text" to process the document
- View and edit the extracted text
- Export the result as PDF or DOCX
- Page Segmentation Mode (PSM)
- OCR Engine Mode (OEM)
- Character whitelist/blacklist
- Language selection
- Handwritten text detection
- Image preprocessing
- Batch processing
- Confidence thresholds
- Processing retries
MIT
Christopher Loklindt (christopher@loklindt.dk)