A powerful web-based PDF utility that enables you to merge, split, and convert images to PDFs, along with other useful PDF operations. This project is built with a Flask backend and a lightweight HTML/CSS/JavaScript frontend, using Bootstrap for styling components.
- ✅ Merge multiple PDFs into a single file
- ✅ Split PDF files by page range
- ✅ Convert images (JPG, PNG) to PDF
- ✅ Perform operations using clean REST APIs
- ✅ Fast, intuitive interface built with HTML, CSS, and Bootstrap
- ✅ Simple and interactive frontend using Vanilla JS
- Python + Flask – Handles all API requests
- mypdf – Custom library to manipulate PDF files
- HTML/CSS/Bootstrap – UI layout and styling
- Vanilla JavaScript – Interacts with the Flask API
-
Clone the repo
git clone https://github.com/Mohsinullahshah11/pdf_tool cd pdf-tool -
Set up a virtual environment
python -m venv venv source venv/bin/activate -
Install dependencies
pip install -r requirements.txt
-
Run the Flask server
python Backend/index.py
-
Open in browser Navigate to
http://localhost:5000in your web browser.
PDF_TOOL/
├── Backend/
│ ├── __pycache__/
│ ├── uploads/
│ ├── venv/
│ ├── index.py # Main Flask app entry
│ ├── pdfOperations.py # PDF logic (merge/split/etc.)
│ ├── utilites.py # Utility functions
│ └── requirements.txt
├── Frontend/
│ ├── assets/
│ │ ├── script/
│ │ │ ├── mergePDF.js
│ │ │ ├── splitPDF.js
│ │ │ └── script.js
│ │ └── style/
│ └── views/
│ ├── index.html
│ ├── merge_PDF.html
│ └── split_PDF.html
└── README.md