A modern, user-friendly desktop application for extracting, rotating, and managing PDF pages with an intuitive visual interface.
- Visual Page Selection: Grid view with large, clear thumbnails
- Page Rotation: Rotate individual pages 90° before extraction
- Smart Extraction: Extract selected pages to a new PDF
- Non-Destructive: Original PDFs remain unchanged
- Resizable Interface: Adjustable sidebar (600px default)
- Quick Zoom: Dropdown selection (25%-400%) + manual controls
- Keyboard Shortcuts:
Ctrl+A(Select All),Esc(Clear) - Interactive Grid: Hover effects and visual feedback
- Modern Dark Theme: Professional, eye-friendly interface
- High-Quality Rendering: Crystal-clear thumbnails and viewer
- Zoom & Pan: Detailed page inspection with smooth controls
- Progress Tracking: Real-time extraction progress
- Smart Defaults: Auto-populated filenames and directories
- Python 3.8 or higher
- pip (Python package manager)
-
Clone the repository
git clone https://github.com/yourusername/dpdf-planner.git cd dpdf-planner -
Install dependencies
pip install -r requirements.txt
-
Run the application
python src/main.py
- Load PDF: Click "Select PDF" in the sidebar
- Select Pages: Click pages to select (blue border indicates selection)
- Rotate (Optional): Double-click pages to rotate if needed
- Extract: Click "Extract Selected Pages"
Ctrl + A: Select all pagesEsc: Clear selectionCtrl + Mouse Wheel: Zoom in/out (in page viewer)
- Resize Sidebar: Drag the divider between sidebar and grid
- Quick Selection: Use
Ctrl+Athen click to deselect unwanted pages - Verify Pages: Double-click to view high-resolution preview
- User Guide - Detailed usage instructions
- Architecture - Technical documentation
- Changelog - Version history
- GUI: Tkinter/ttk (Python standard library)
- PDF Processing: PyPDF2, PyMuPDF (fitz)
- Image Handling: Pillow (PIL)
- Theme: Custom dark theme
- ✅ Page Rotation with visual feedback
- ✅ Quick Zoom Dropdown (25%-400%)
- ✅ Resizable Sidebar (drag to adjust)
- ✅ Keyboard Shortcuts for power users
- ✅ Hover Effects on grid items
- ✅ Modular Architecture (cleaner code)
- ✅ Toast Notifications (non-blocking)
See CHANGELOG.md for full details.
PyPDF2>=3.0.0
Pillow>=10.0.0
PyMuPDF>=1.23.0
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with Python and Tkinter
- PDF processing powered by PyPDF2 and PyMuPDF
- Icons and UI inspired by modern design principles
For issues, questions, or suggestions, please open an issue on GitHub.
Made with ❤️ for PDF enthusiasts
