A lightweight, feature-rich desktop PDF editor built using PyQt6 and PyMuPDF (fitz).
Designed for fast, intuitive PDF manipulation with a focus on usability and essential editing tools.
- Open PDF files with size and page-limit validation
- Save and Save As functionality with safe overwrite handling
- Rotate single or all pages
- Reset page rotation
- Delete selected pages
- Reorder pages via drag-and-drop
- Move pages to a specific position
- Crop pages interactively using mouse selection
- Undo / Redo support for editing actions
- Zoom in / Zoom out
- Fit-to-width view mode
- Thumbnail sidebar for quick navigation
- Compress PDF with customizable DPI and quality
- Merge multiple PDFs with reorder support
- Split PDF:
- All pages
- Custom ranges (e.g.,
1-3,5,7-9)
- Convert images to PDF
- Drag-and-drop reordering before conversion
- Python
- PyQt6 – GUI framework
- PyMuPDF (fitz) – PDF processing
- Modular architecture:
core/→ PDF operations (merge, split, compress)pdf/→ transformations (rotate, etc.)ui/→ interactive tools (crop)
.
├── app.py
├── core/
│ ├── merge.py
│ ├── split.py
│ ├── compress.py
│ └── undo_manager.py
├── pdf/
│ └── rotate.py
├── ui/
│ └── crop_tool.py
git clone https://git@github.com:rishu2rishvanth/PDF_Editor.git
cd PDF_Editor