Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

Β 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“„ PDF Manager

Python License Platform

A powerful and user-friendly GUI application for PDF manipulation


🌟 Features

βœ‚οΈ Slice PDF

Extract specific page ranges from PDF files with ease. Perfect for extracting chapters, sections, or individual pages.

  • Select any PDF file
  • Automatically detect total page count
  • Add multiple page ranges (e.g., 1-5, 10-15, 20-25)
  • Extract non-contiguous sections and merge them into one file
  • Quick add feature for fast range entry
  • Smart file browser remembers your last location

πŸ“„ Merge PDFs

Combine multiple PDF files into a single document seamlessly.

  • Add unlimited PDF files
  • Drag-and-drop multiple files at once
  • Reorder files before merging
  • Preview file list before processing

πŸ”„ PPTX to PDF

Convert PowerPoint presentations to PDF format and merge multiple presentations.

  • Support for .pptx files
  • Batch conversion of multiple presentations
  • Automatic merging into single PDF
  • Cross-platform support (Windows, Linux, macOS)

πŸ’Ύ Smart File Management

  • Intelligent default directories based on your workflow
  • File browsers remember recent locations
  • Custom output path selection
  • Clean and intuitive interface

πŸš€ Installation

Prerequisites

  • Python 3.7+ (Python 3.8+ recommended)
  • tkinter (Usually included with Python)

System-Specific Requirements

🐧 Linux (Ubuntu/Debian)
# Install tkinter
sudo apt-get update
sudo apt-get install python3-tk

# For PPTX to PDF conversion (optional)
sudo apt-get install libreoffice
🍎 macOS
# Tkinter is usually included with Python
# If needed, reinstall Python with Homebrew
brew install python-tk

# For PPTX to PDF conversion (optional)
brew install libreoffice
πŸͺŸ Windows
  • Tkinter is included with Python from python.org
  • For PPTX conversion: Ensure Microsoft PowerPoint is installed

Quick Install

  1. Clone the repository

    git clone https://github.com/yourusername/pdf-manager.git
    cd pdf-manager
  2. Run the launcher script (Recommended)

    chmod +x run.sh
    ./run.sh

    The launcher automatically:

    • Creates a virtual environment
    • Installs all dependencies
    • Launches the application

Manual Installation

# Create virtual environment
python3 -m venv .venv

# Activate virtual environment
source .venv/bin/activate  # Linux/Mac
.venv\Scripts\activate     # Windows

# Install dependencies
pip install -r requirements.txt

# Run the application
python pdf_manager.py

πŸ“– Usage

Quick Start

Simply run the launcher:

./run.sh

Or run directly:

python pdf_manager.py

Detailed Usage Guide

1️⃣ Slicing PDFs

  1. Open the "Slice PDF" tab
  2. Click Browse to select your PDF file
  3. The app automatically detects total pages
  4. Add page ranges in two ways:
    • Quick Add: Enter From/To values and click "Add Current Range"
    • Manual Entry: Type ranges directly (one per line, e.g., "1-5" or "10")
  5. Add multiple ranges to extract non-contiguous sections
  6. Click Browse next to Output Location
  7. Name your output file
  8. Click βœ‚οΈ SLICE PDF

Example Use Cases:

  • Extract multiple chapters: pages 1-10, 20-30, 50-60
  • Remove unwanted sections (extract everything except certain pages)
  • Combine introduction and conclusion: pages 1-5, 95-100
  • Extract specific pages: 1, 5, 10, 15 (enter as separate ranges)

2️⃣ Merging PDFs

  1. Open the "Merge PDFs" tab
  2. Click Add Files to select multiple PDFs
    • You can select multiple files at once
    • Files appear in merge order
  3. Use Remove Selected to remove unwanted files
  4. Use Clear All to start over
  5. Click Browse to choose output location
  6. Click πŸ“„ MERGE PDFs

Example Use Cases:

  • Combine scanned documents
  • Merge reports from different sources
  • Create complete documentation from chapters

3️⃣ Converting PPTX to PDF

  1. Open the "PPTX to PDF" tab
  2. Click Add Files to select PowerPoint files
  3. Multiple files will be converted and merged
  4. Use Remove Selected or Clear All as needed
  5. Click Browse to choose output location
  6. Click πŸ”„ CONVERT TO PDF

Note:

  • Windows: Requires Microsoft PowerPoint
  • Linux/Mac: Requires LibreOffice

πŸ› οΈ Technologies Used

  • Python 3.7+ - Core programming language
  • Tkinter - GUI framework
  • PyPDF2 - PDF manipulation
  • python-pptx - PowerPoint file handling
  • Pillow - Image processing
  • LibreOffice (Linux/Mac) - PPTX conversion

πŸ“‹ Requirements

Python Packages

PyPDF2==3.0.1
python-pptx==0.6.23
Pillow==10.1.0
comtypes==1.4.1  # Windows only

See requirements.txt for complete list.


πŸ› Troubleshooting

Common Issues

❌ "ModuleNotFoundError: No module named 'tkinter'"

Solution:

# Linux
sudo apt-get install python3-tk

# Mac
brew install python-tk
❌ PPTX conversion fails on Linux/Mac

Solution: Install LibreOffice:

# Ubuntu/Debian
sudo apt-get install libreoffice

# Mac
brew install libreoffice

Test installation:

libreoffice --version
❌ "Permission denied" when saving files

Solution:

  • Check write permissions for the output directory
  • Try saving to your home directory or Desktop
  • On Linux: chmod +w /path/to/directory
❌ "Invalid page range" error

Solution:

  • Ensure "From" page ≀ "To" page
  • Check that page numbers are within document range
  • Page numbers must be positive integers

🀝 Contributing

How to Continue This Project:

  1. Fork the repository to your own GitHub account
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to your fork (git push origin feature/AmazingFeature)
  5. Share your improvements with the community

Ideas for Future Development

  • Add drag-and-drop file support
  • Implement PDF rotation
  • Add PDF compression
  • Create dark mode theme
  • Add command-line interface
  • Improve error handling
  • Add unit tests

If you create an actively maintained fork, please open an issue to have it listed here.


πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

MIT License

Copyright (c) 2025 PDF Manager

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

πŸ‘¨β€πŸ’» Author

Original Author: This project was created as a standalone utility tool.


⭐ Star this repository if you find it helpful!

Made with ❀️ and Python

Back to Top

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages