Your Jupyter Notebook to PDF Converter website has been successfully created!
This is a full-featured web application that lets users upload .ipynb files and convert them to PDF format with just a few clicks.
| File | Purpose | Size |
|---|---|---|
| app.py | Flask backend server | 2.9 KB |
| templates/index.html | Web interface UI | 14 KB |
| requirements.txt | Python dependencies | 123 B |
| File | Content |
|---|---|
| QUICK_START.md | ⭐ Start here! Quick reference card |
| CHECKLIST.md | Step-by-step setup checklist |
| README.md | Complete technical documentation |
| SETUP.md | Installation and troubleshooting guide |
| PROJECT_SUMMARY.md | Project overview and features |
| File | Purpose |
|---|---|
| setup.sh | Automated setup script |
| .env.example | Environment variables template |
| .gitignore | Git ignore configuration |
| sample_notebook.ipynb | Test file for conversion |
pip install -r requirements.txt
sudo apt-get install pandocpython app.pyVisit: http://localhost:5000
Start with the guide that matches your needs:
First time setup?
↓
Read: CHECKLIST.md
Or: Run ./setup.sh
Want quick reference?
↓
Read: QUICK_START.md
Need full documentation?
↓
Read: README.md
Issues or troubleshooting?
↓
Read: SETUP.md
Want to understand the project?
↓
Read: PROJECT_SUMMARY.md
- Modern UI with gradient design
- Drag-and-drop file upload
- Real-time progress tracking
- Responsive design (mobile-friendly)
- Success/error notifications
- Flask API for conversion
- nbconvert integration
- Pandoc PDF generation
- File validation and security
- CORS support
- ✅ File type validation (only .ipynb)
- ✅ File size limits (50MB max)
- ✅ Secure filename handling
- ✅ Auto cleanup of temp files
- ✅ No code execution from uploads
file_Converter/
├── app.py # Backend (101 lines)
├── requirements.txt # Dependencies
├── templates/
│ └── index.html # Frontend (474 lines)
├── sample_notebook.ipynb # Test file
├── setup.sh # Automated setup
│
├── README.md # Technical docs
├── QUICK_START.md # Quick reference
├── SETUP.md # Setup guide
├── CHECKLIST.md # Setup checklist
├── PROJECT_SUMMARY.md # Project overview
│
├── .env.example # Config template
└── .gitignore # Git rules
| Layer | Technology |
|---|---|
| Server | Flask 2.3.3 |
| Conversion | nbconvert 7.10.0 |
| PDF Generation | Pandoc |
| Frontend | HTML5, CSS3, Vanilla JS |
| APIs | RESTful |
| Method | Endpoint | Purpose |
|---|---|---|
| GET | / |
Web interface |
| POST | /api/convert |
Convert notebook |
| GET | /api/health |
Health check |
curl -X POST -F "file=@notebook.ipynb" \
http://localhost:5000/api/convert -o output.pdfMinimum:
- Python 3.8+
- pip
- pandoc
Recommended:
- 4GB RAM
- 100MB disk space
- Modern browser
- ✅ File upload (drag & drop)
- ✅ File validation
- ✅ Progress tracking
- ✅ PDF generation
- ✅ Auto download
- ✅ Error handling
- ✅ Mobile responsive
- ✅ Security measures
- Go to http://localhost:5000
- Drag
sample_notebook.ipynbto upload area - Click "Convert to PDF"
- PDF downloads automatically
curl -X POST -F "file=@sample_notebook.ipynb" \
http://localhost:5000/api/convert -o output.pdfStart with: CHECKLIST.md or QUICK_START.md
Check: SETUP.md
Read: README.md
See: PROJECT_SUMMARY.md
Easy to modify:
- Colors/Styling → Edit
templates/index.html - Port Number → Edit
app.py(line withport=5000) - File Size Limit → Edit
app.py(changeMAX_FILE_SIZE) - UI Layout → Modify HTML structure
| Problem | Solution |
|---|---|
No module named flask |
pip install -r requirements.txt |
pandoc not found |
sudo apt-get install pandoc |
Port 5000 in use |
Change port or kill process |
| Browser shows error | Check if python app.py is running |
See SETUP.md for more troubleshooting.
- Quick answers? → Read QUICK_START.md
- Setup problems? → Check CHECKLIST.md
- Error details? → See SETUP.md
- Need explanation? → Read README.md
- Project info? → See PROJECT_SUMMARY.md
- Read QUICK_START.md
- Install dependencies
- Run
python app.py - Test conversion
- Review README.md
- Test with your notebooks
- Customize if needed
- Deploy (if needed)
- Add more features
- Set up CI/CD
- Monitor usage
- Collect feedback
The application is ready for:
- ✅ Local development
- ✅ Docker containerization
- ✅ Cloud deployment
- ✅ Production use
- Total Files: 12
- Code Files: 2 (app.py, index.html)
- Documentation: 5 files
- Configuration: 2 files
- Utilities: 1 file
- Test File: 1 file
- Lines of Code: ~575 lines
- Project Size: ~292 KB
This project demonstrates:
- Flask web framework
- RESTful API design
- File handling
- Frontend-backend integration
- Error handling
- Security best practices
- Responsive design
- Vanilla JavaScript
- Setup issues? → CHECKLIST.md or SETUP.md
- How to use? → QUICK_START.md
- Technical details? → README.md
- Project overview? → PROJECT_SUMMARY.md
Your Notebook Converter is ready to use:
# 1. Activate environment (if needed)
source venv/bin/activate
# 2. Install dependencies (first time)
pip install -r requirements.txt
# 3. Install pandoc (if not installed)
sudo apt-get install pandoc
# 4. Run the app
python app.py
# 5. Open browser
# Visit: http://localhost:5000Enjoy converting your Jupyter Notebooks to PDF! 📓➜📄
For detailed instructions, see QUICK_START.md