A safe PDF manipulation tool
Project description
SafePDF - Privacy-First PDF Toolkit
SafePDF is a privacy-focused, offline PDF manipulation tool. All operations are performed locally on your device—your sensitive documents never leave your computer.
Why SafePDF?
100% Offline - No cloud uploads, no internet required
Fast & Lightweight - Operations run directly on your device
Privacy First - Ideal for sensitive documents (legal, healthcare, financial)
Multi-language - English, German, Turkish support
Read more: The Security Concerns of Online PDF Tools
Features
- Compress - Reduce PDF file size with quality control
- Split - Separate PDFs by pages or custom ranges
- Merge - Combine multiple PDF files into one
- Convert to Images - Export PDF pages as JPG/JPEG
- Rotate - Rotate pages (90°, 180°, 270°)
- Repair - Fix corrupted PDF files
- Convert to Word - Export PDF as DOCX documents
- Extract Text - Extract plain text from PDFs
- Extract Info - View PDF metadata and properties
Interface Features:
- Drag & drop file selection
- Real-time progress tracking
- Multi-language UI
- Modern, intuitive design
Quick Start
Option 1: Download Executable (Recommended)
- Download the latest release from Releases
- Extract the ZIP file
- Run
SafePDF.exe
Option 2: Install from PyPI
Requirements:
- Python 3.8+
- pip
Installation:
# Install from PyPI
pip install SafePDF
# Optional extras
# OCR support: pip install "SafePDF[ocr]"
# All optional extras: pip install "SafePDF[full]"
# Run the app
safepdf
Option 3: Run from Source
# Clone the repository
git clone https://github.com/mcagriaksoy/SafePDF.git
cd SafePDF
# Install core dependencies
pip install -r requirements.txt
# Optional extras
# OCR support: pip install ".[ocr]"
# All optional extras: pip install ".[full]"
# Run the application
python run_safe_pdf.py
OCR note: OCR uses Tesseract. Install the Python extra with SafePDF[ocr] and make sure the Tesseract OCR application is installed on your system as well.
How to Use
- Select Operation - Choose what you want to do (compress, split, merge, etc.)
- Select File - Drag & drop your PDF or click to browse
- Adjust Settings - Configure operation-specific options
- Execute - Click to process your file
- View Results - See output and open the processed file
Development
Project Structure
SafePDF/
├── SafePDF/
│ ├── ctrl/ # Controllers
│ ├── ui/ # User interface
│ ├── ops/ # PDF operations
│ ├── logger/ # Logging
│ └── text/ # Localization files
├── run_safe_pdf.py # Main launcher
└── requirements.txt # Dependencies
Contributing
Contributions are welcome! Please:
- Report bugs via Issues
- Submit pull requests for improvements
- Follow existing code style
Support
- Website: safepdf.com
- More information is available at safepdf.com
- Email: info@safepdf.com
- Report Issues: GitHub Issues
- Documentation: safepdf.com
License
Released under GPL-3.0 by @mcagriaksoy.
Support the Project
Made for privacy-conscious users
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file safepdf-1.0.14.tar.gz.
File metadata
- Download URL: safepdf-1.0.14.tar.gz
- Upload date:
- Size: 1.9 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0d4eb93e834e63f91000e4271f4317918e333ae4c2d2c9b7c4293834480a1d49
|
|
| MD5 |
049f073f462a8df91e3ccd4d3b392786
|
|
| BLAKE2b-256 |
32fd163f76575eaa204525e34e1d9eca7e786571cb5c3b90e2b6847cc5236115
|
File details
Details for the file safepdf-1.0.14-py3-none-any.whl.
File metadata
- Download URL: safepdf-1.0.14-py3-none-any.whl
- Upload date:
- Size: 1.9 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e3cd2bf361a058d83a62778fdcacdf7edb832f156204d57641a31c13149735c6
|
|
| MD5 |
33b3acbebb067488bef38c51a4310411
|
|
| BLAKE2b-256 |
e0e48a0800d259679c983afd7304c22cc61c13f075f560e46a500a96c9463887
|