PDF Enhancer is a specialized desktop application designed to rescue low-quality scanned or photographed documents. Using advanced computer vision techniques, it reconstructs clean, high-contrast, and print-ready PDFs.
The tool runs 100% locally on your machine—ensuring complete privacy for your sensitive documents with no internet or server uploads required.
- Go to the Releases page.
- Download the latest
PDF_Enhancer_v1.1.exe(orPDF_Enhancer_Windows.exe). - Double-click to run!
- Go to the Releases page.
- Download
PDF_Enhancer_Linux_x86_64(orPDF_Enhancer_Linux_x86_64.tar.gz). - Make it executable and run:
chmod +x PDF_Enhancer_Linux_x86_64 ./PDF_Enhancer_Linux_x86_64
Clone and run the automated installer (sets up dependencies, app menu shortcut, and icon):
git clone https://github.com/ItsSp00ky/pdf_enhancer.git
cd pdf_enhancer/python_version
./install_linux.shNote for Fedora users: If installing manually without the script, install Tkinter via sudo dnf install python3-tkinter.
- 🎨 Professional Enhancement: Automatically converts shadowed or gray backgrounds into pure white while maintaining crisp, black text using adaptive Gaussian thresholding.
- 📐 Smart Geometry Correction: Automatically detects document borders, crops excess background, and straightens tilted (skewed) pages via 4-point perspective transform.
- 📁 Drag & Drop + Multi-File Support: Drag and drop files directly into the window. Seamlessly combine multiple PDFs and images (PNG, JPG, TIFF, BMP) into a single unified output PDF.
- 🗜️ Ultra-Compact Output: Saves output using 1-bit CCITT Group 4 fax compression for crisp text with file sizes up to ~20x smaller than standard scans.
- 👁️ Real-time Preview: Dedicated preview window lets you inspect the enhanced result of the first page before processing the full document.
- ⚡ Multi-threaded Engine: Background worker threads keep the UI fluid and responsive with real-time page-by-page progress status.
- 📦 Resolution Control: Adjustable DPI settings (100–400) to balance scan crispness and processing speed.
- 🔒 100% Local & Private: Processes all files entirely offline on your computer.
If you prefer to run from source or build the executable yourself:
uv is an extremely fast Python package and project manager.
# 1. Clone the repository
git clone https://github.com/ItsSp00ky/pdf_enhancer.git
cd pdf_enhancer/python_version
# 2. Sync dependencies into virtual environment
uv sync
# 3. Run the application
uv run python main.py
# (Optional) Build standalone executable
uv sync --all-groups
uv run pyinstaller main.spec# 1. Create and activate environment from environment.yml
conda env create -f environment.yml
conda activate pdf-enhancer
# 2. Run the application
python main.py# 1. Create and activate a virtual environment
python -m venv .venv
# On Windows:
.venv\Scripts\activate
# On Linux/macOS:
source .venv/bin/activate
# 2. Install dependencies
pip install -r requirements.txt
# 3. Run the application
python main.py- Select Files: Browse or drag & drop one or more PDF/image files.
- Adjust Quality: Set your desired Scan Quality (DPI) with the slider (200 DPI recommended).
- Preview: Click "👁 Preview First" to inspect the enhanced output before full export.
- Convert & Save: Click "💾 Convert & Save" to choose your output PDF filename. The enhanced document will open automatically upon completion.
MIT License - Copyright (c) 2025 Ahmed Gali. See the LICENSE file for more details.
