Desktop PDF manager built with Tkinter/CustomTkinter: view and annotate PDFs (highlight, underline, strikeout, squiggly), extract text via OCR, and convert, merge, split, rotate or extract pages from PDFs.
- Python 3.10+
- Windows (the window chrome and Tesseract auto-detection are Windows-specific)
- Tesseract OCR installed
separately if you want to use the OCR button (installing the
pytesseractPython package alone is not enough)
git clone <repo-url>
cd PDFMagus
python -m venv venv
venv\Scripts\activate
pip install -r requirements.txtpython main.pymain.py Entry point
pdfmagus/ Application package
app.py Main window, notebook, tab wiring
theme.py Colors, fonts, icons
tabs/ Edit / Convert / Logs tabs
convert_panels/ Per-operation panels (merge, split, rotate, extract, format, preview)
operations/ PDF logic (merge, split, rotate, extract, format conversion)
ocr/ Tesseract detection and OCR execution
reading/ Reading-history persistence (reader_history.json)
widgets/ Reusable UI widgets (tooltip, zoom slider)
Requires pyinstaller (pip install pyinstaller):
pyinstaller PDFMagus.spec --noconfirmThe built executable is written to dist/PDFMagus.exe.