PDF Toolbox brings everyday PDF work under one roof as a Python desktop application: merging, splitting, extracting pages, deleting pages, extracting text, viewing metadata and compression all happen in the same interface.
One design decision matters most: all PDF business logic lives in testable core modules separate from the UI. The CustomTkinter interface only calls into them, so file operations can be verified with pytest without any UI.
02Key Features
Merge — combine multiple PDFs with ordering controls and safe auto-renamed output
Fast viewer — fit-to-page/width, rotation, page cache, adjacent-page preloading and text search
Split — by every page, custom ranges or every N pages
Page operations — extract selected pages into a new PDF; delete pages without touching the original
Text extraction — .txt output with preview, page labels and optional ranges
Metadata — basic PDF information including encryption status
Background operations — progress feedback with action buttons disabled while running
03Engineering Notes
Parsing, validation, safe filenames and PDF operations are covered by pytest.
Recent files, settings and the activity log live under data/ as JSON and log files; a single-file Windows build is produced with PyInstaller.