https://github.com/nuraj250/pdfwizard
An automated tool to merge and split PDF files effortlessly. Supports batch processing, page range selection, and file compression. Ideal for document management, report handling, and office productivity.
https://github.com/nuraj250/pdfwizard
automation file-handling pdf-manipulation pdfplumber pypdf2 python
Last synced: 2 months ago
JSON representation
An automated tool to merge and split PDF files effortlessly. Supports batch processing, page range selection, and file compression. Ideal for document management, report handling, and office productivity.
- Host: GitHub
- URL: https://github.com/nuraj250/pdfwizard
- Owner: Nuraj250
- Created: 2025-03-21T16:45:00.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2025-03-22T18:57:18.000Z (7 months ago)
- Last Synced: 2025-03-31T14:46:15.792Z (6 months ago)
- Topics: automation, file-handling, pdf-manipulation, pdfplumber, pypdf2, python
- Language: Python
- Homepage:
- Size: 198 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# π PDFWizard
**PDFWizard** is a smart, AI-powered PDF assistant built with Flask. Upload one or more PDFs and chat with them using natural language! Powered by OpenAI's GPT model, PDFWizard can answer your questions using the content of your documents.
---
## β¨ Features
β Upload multiple PDFs
β Ask natural language questions about your PDFs
β Remembers previous questions & answers (chat context memory)
β Export full chat history as TXT or PDF
β Drag-and-drop file upload
β Modern, clean UI built with HTML/CSS/JS
β 10MB file size limit per upload---
## πΌ Preview

---
## π Tech Stack
- **Backend**: Python, Flask
- **Frontend**: HTML5, CSS3, Vanilla JavaScript
- **AI**: OpenAI Chat API (GPT-3.5 / GPT-4)
- **PDF Parsing**: PyMuPDF (`fitz`)
- **Exporting**: FPDF---
## π οΈ Installation
### 1. Clone the repo
```bash
git clone https://github.com/Nuraj250/pdfwizard.git
cd pdfwizard
```### 2. Create and activate a virtual environment
```bash
python -m venv venv
source venv/bin/activate # On Windows use `venv\Scripts\activate`
```### 3. Install dependencies
```bash
pip install -r requirements.txt
```### 4. Add your OpenAI API key
Create a `.env` file in the root:
```
OPENAI_API_KEY=your_openai_api_key_here
```---
## π‘ Usage
### πΉ Run the app
```bash
python run.py
```Visit `http://localhost:5000` in your browser.
### πΉ Upload PDFs
- Drag and drop one or more PDFs or click to select.
- Maximum file size: **10MB**.### πΉ Chat
- Ask questions like:
- βWhat is the summary of this document?β
- βWhat does section 4.3 talk about?β
- The assistant will remember previous interactions.---
## π Export Chat
On the chat page, you can:
- π¬ Click **βExport as TXTβ** to download plain text version
- π Click **βExport as PDFβ** to download a PDF of the conversation---
## π¦ Project Structure
```
pdfwizard/
β
βββ app/
β βββ static/ # CSS & JS
β βββ templates/ # HTML templates
β βββ uploads/ # Uploaded PDFs
β βββ __init__.py # Flask app setup
β βββ routes.py # Main routes
β
βββ services/
β βββ pdf_reader.py # PDF parsing logic
β βββ ai_engine.py # ChatGPT integration
β
βββ .env # API keys
βββ config.py # App configs
βββ run.py # Entry point
βββ requirements.txt # Python dependencies
```---
## π§ Example Questions
- "What is the main topic of this document?"
- "List all action items mentioned."
- "What date is the event scheduled for?"---
## π License
This project is open-source and free to use. Modify it for your own awesome ideas!
---
## β€οΈ Contributing
Got ideas to improve PDFWizard? Open a PR or issue β contributions are welcome!
---
## π¨βπ» Author
Built with β€οΈ by Nuraj