This project integrates Optical Character Recognition (OCR) with advanced text summarization to provide a seamless document processing solution. With features like image quality feedback, standard output formatting, and an interactive chatbot, the system simplifies text extraction and summarization from diverse document formats.
- Accurate OCR with EasyOCR: Extracts text from images and scanned documents in multiple languages.
- Advanced Summarization with Gemini API: Converts extracted text into concise, meaningful summaries.
- Image Quality Feedback: Notifies users of blurry or low-quality images for re-upload.
- Standardized Output Formatting: Provides consistent, user-friendly document outputs.
- Interactive Chatbot: Assists users in navigating the system and resolving common issues.
- Data Privacy and Security: Ensures secure handling of sensitive documents.
-
Back-End:
- Python
- NodeJS
- ExpressJS
- EasyOCR
- Gemini API
- OpenCV
-
Front-End:
- HTML/CSS/JavaScript
- ReactJS+Vite
-
Frameworks and Tools:
- Tailwind CSS
- Input: Users upload images or scanned documents.
- Preprocessing: Images are analyzed and enhanced for quality.
- OCR Module: Text is extracted using EasyOCR.
- Summarization Module: Extracted text is summarized using the Gemini API.
- Output: Results are delivered in standardized formats.
- Chatbot Integration: Provides user guidance and a support.
- Python 3.8 or higher
- Flask
- EasyOCR (
pip install easyocr) - OpenCV (
pip install opencv-python) - Botpress (optional for chatbot)
-
Clone the repository:
git clone https://github.com/your-username/document-processing-system.git cd document-processing-system -
Install dependencies:
pip install -r requirements.txt
-
Set up the Gemini API:
- Obtain an API key from Gemini API.
- Add the key to your environment variables or configuration file.
-
Run the application:
python app.py
-
Access the application at
http://localhost:5000.
- Launch the application and upload your document.
- View extracted text and summaries on the results page.
- Use the chatbot for assistance with any issues or questions.
- Download processed results in standardized formats.
Contributions are welcome! To contribute:
- Fork the repository.
- Create a feature branch:
git checkout -b feature-name
- Commit your changes:
git commit -m "Add new feature" - Push to the branch:
git push origin feature-name
- Submit a pull request.
This project is licensed under the NA.
Feel free to enhance or customize this README further for your GitHub repository!