Visual drag-and-drop PDF editor matching Canva-like usability, built with Python.
- Rendering: PyMuPDF (fitz) for 60FPS page rendering
- Editing: pikepdf for structural changes, ReportLab for vector overlays
- OCR: Tesseract for scanned PDF text extraction
- UI: PyQt6 for native desktop experience
- Python 3.12+
- Tesseract OCR: Windows | macOS:
brew install tesseract| Linux:sudo apt install tesseract-ocr - qpdf (for pikepdf): Windows | macOS:
brew install qpdf| Linux:sudo apt install qpdf
git clone <repo-url> && cd pycanvas-pdf
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txtpython src/main.py- Tabbed interface with drag-and-drop page editing
- Text block editing with original font style preservation
- Image/shape overlay support
- Full undo/redo stack
- OCR for scanned PDFs
- Linearized, compressed export