BiplobOCR is a powerful, user-friendly desktop application for Optical Character Recognition (OCR). It transforms scanned, image-based PDFs into searchable, selectable text documents using the robust ocrmypdf engine. Designed for Windows, it features a modern interface, batch processing, and hardware acceleration support.
- Searchable PDF Creation: Convert scanned documents into standard PDFs with selectable text.
- Intelligent Processing:
- Auto-Deskew: Straightens crooked pages.
- Clean: Removes background noise and artifacts.
- Rotate: Automatically corrects page orientation.
- Batch Processing: Queue multiple files to process them one after another automatically.
- Large File Support: Automatically splits and processes large PDF files (>50 pages) to manage memory efficiently.
- Multi-Language Interface: Fully localized in English and Bengali.
- Hardware Acceleration: Supports GPU acceleration (via OpenCL) to speed up OCR operations.
- Drag & Drop: Simply drag PDF files into the window to start processing.
- Sidecar Output: Optionally generates a
.txtfile with the raw text content alongside the PDF. - Secure: Handles password-protected PDFs by prompting for credentials.
- Python 3.8 or higher
- Windows 10/11
-
Clone the Repository:
git clone https://github.com/yourusername/BiplobOCR.git cd BiplobOCR -
Install Dependencies:
pip install -r requirements.txt
-
External Tools: BiplobOCR relies on
Tesseract-OCRandGhostscript.- The application is designed to look for a bundled version in
src/tesseract/windows. - Alternatively, ensure
tesseractandocrmypdfdependencies are installed on your system and added to your PATH.
- The application is designed to look for a bundled version in
To start the application, run the setup script:
python run.py- Home: View recent files and quick actions.
- Tools (Scan): Process a single file. You can preview the PDF and adjust specific settings.
- Batch: Add multiple files to a queue. The app will process them sequentially.
- History: A log of all processed files with quick links to open them.
- Settings: Configure OCR languages, performance options (CPU threads, GPU), and themes.
BiplobOCR/
├── src/
│ ├── core/ # Backend logic (OCR engine, Config, History)
│ ├── gui/ # User Interface (Tkinter Views & Controllers)
│ ├── tesseract/ # Bundled Tesseract binaries (Windows)
│ └── assets/ # Icons and static resources
├── installer/ # Installer build scripts
├── run.py # Application entry point
├── requirements.txt # Python dependencies
└── whole_project_summary.md # Detailed technical documentation
To package the application for distribution (creates a single .exe):
-
Install PyInstaller:
pip install pyinstaller
-
Run the build command:
pyinstaller --name "BiplobOCR" --windowed --onefile --icon=src/assets/icon.ico run.py(Note: You may need to update the PyInstaller spec file to include
src/tesseractandsrc/assetsdirectories as data resources.)
This project is licensed under the MIT License - see the LICENSE file for details.
For detailed documentation, visit: BiplobOCR Docs