SafePDF

Privacy-First PDF Toolkit

mcagriaksoy - SafePDF stars - SafePDF forks - SafePDF GitHub release License issues - SafePDF

SafePDF is a powerful, privacy-focused PDF manipulation tool designed to handle your documents entirely offline. Whether you’re compressing large files, splitting pages, merging multiple PDFs, converting to images, rotating pages, or repairing corrupted documents—SafePDF does it all locally, ensuring your sensitive data never leaves your device.

Why SafePDF?

Unlike cloud-based tools, SafePDF performs all operations directly on your device, eliminating the risk of data exposure. It’s ideal for professionals, legal teams, healthcare providers, and anyone who values document confidentiality.

Features

Main Window Operations Window

Download URL

Download SafePDF_win64_x86.zip

Documentation

View site - GH Pages view - Documentation

License

Released under GPL-3.0-1 by @mcagriaksoy.

Donation

Donate

Installation

Prerequisites

Install Dependencies

pip install -r requirements.txt

Required Packages

If you encounter issues with tkinterdnd2, the application will still work without drag-and-drop functionality.

Usage

Running the Application

# Run the main application
python safe_pdf_app.py

# Or run the test/demo script
python test_demo.py

# Test dependencies only
python test_demo.py --test-only

Using the Application

  1. Welcome Tab: Overview of the application and process steps
  2. Select File Tab:
    • Drag and drop a PDF file onto the designated area, OR
    • Click “Load File from Disk” to browse for a PDF file
  3. Select Operation Tab: Choose from available PDF operations:
    • PDF Compress
    • PDF Separate/Split
    • PDF Merge
    • PDF to JPG
    • PDF Rotate
    • PDF Repair
  4. Adjust Settings Tab: Configure operation-specific settings
  5. Results Tab: View operation progress and results

Operation Details

PDF Compression

PDF Split

PDF Rotation

PDF to JPG

PDF Repair

File Structure

SafePDF/Tk/
├── safe_pdf_app.py      # Main application file
├── pdf_operations.py    # PDF operations backend
├── requirements.txt     # Python dependencies
└── README.md           # This file

Error Handling

The application includes comprehensive error handling:

Troubleshooting

Common Issues

  1. “PyPDF2/pypdf not available”
    pip install PyPDF2
    # or
    pip install pypdf
    
  2. “PIL/Pillow not installed”
    pip install Pillow
    
  3. “PyMuPDF not available”
    pip install PyMuPDF
    
  4. Drag and drop not working
    pip install tkinterdnd2
    

    Note: If tkinterdnd2 installation fails, you can still use the file browser button.

Performance Tips

Development

Code Structure

Adding New Operations

  1. Add operation logic to PDFOperations class
  2. Create settings UI in SafePDFApp.update_settings_for_operation()
  3. Add operation button in create_operation_tab()
  4. Handle operation execution in _run_operation_thread()

Contributing

Feel free to contribute by:

Version History

Comparison with Qt Version

This Tkinter version provides the same functionality as the Qt form.ui with these advantages:

For more information, visit: https://github.com/mcagriaksoy/SafePDF