A powerful, user-friendly desktop application for extracting text from images and PDF documents using Tesseract OCR.
- Multi-Format Support: Process PNG, JPG/JPEG, BMP, TIFF images and PDF documents
- PDF Navigation: Preview, navigate through pages, and selectively OCR pages
- Enhanced OCR: Advanced image preprocessing for improved text recognition accuracy
- Modern UI: Intuitive interface with multiple themes (light/dark) and customizable text display
- Workflow Tools: File history, drag & drop support, copy/save functions
- Responsive Design: Asynchronous processing with worker threads prevents UI freezing
- Python 3.7+
- Tesseract OCR Engine (with appropriate language data files)
-
Clone the repository
git clone https://github.com/Mxneeb/TextLens-IMG-PDF-Text-Extractor.git cd TextLens-IMG-PDF-Text-Extractor -
Set up virtual environment (recommended)
python -m venv venv # Windows venv\Scripts\activate # macOS/Linux source venv/bin/activate
-
Install dependencies
pip install -r requirements.txt
-
Run the application
python gui.py
- PyQt6: Modern GUI framework
- Pytesseract: Python wrapper for Tesseract OCR
- OpenCV-Python: Image processing library
- PyMuPDF: PDF handling
- NumPy: Numerical operations
- Download the installer from UB Mannheim
- During installation, make sure to:
- Add Tesseract to PATH
- Install language data files (at minimum, English)
brew install tesseract
brew install tesseract-lang # for additional language supportsudo apt install tesseract-ocr
sudo apt install tesseract-ocr-eng # for English language dataTextLens-IMG-PDF-Text-Extractor/
├── gui.py # Main application GUI
├── source/
│ └── source.py # OCR and image processing logic
├── icons/ # UI icons
├── history/ # Created at runtime (user settings & history)
├── README.md
└── requirements.txt
- Language selection in GUI
- Advanced image preprocessing options
- Export to searchable PDF
- Batch processing
- Cross-platform binary releases
MIT License - see the LICENSE file for details.
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request





