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
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
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)
- Intelligent default directories based on your workflow
- File browsers remember recent locations
- Custom output path selection
- Clean and intuitive interface
- Python 3.7+ (Python 3.8+ recommended)
- tkinter (Usually included with Python)
π§ 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
-
Clone the repository
git clone https://github.com/yourusername/pdf-manager.git cd pdf-manager -
Run the launcher script (Recommended)
chmod +x run.sh ./run.sh
The launcher automatically:
- Creates a virtual environment
- Installs all dependencies
- Launches the application
# 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.pySimply run the launcher:
./run.shOr run directly:
python pdf_manager.py- Open the "Slice PDF" tab
- Click Browse to select your PDF file
- The app automatically detects total pages
- 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")
- Add multiple ranges to extract non-contiguous sections
- Click Browse next to Output Location
- Name your output file
- 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)
- Open the "Merge PDFs" tab
- Click Add Files to select multiple PDFs
- You can select multiple files at once
- Files appear in merge order
- Use Remove Selected to remove unwanted files
- Use Clear All to start over
- Click Browse to choose output location
- Click π MERGE PDFs
Example Use Cases:
- Combine scanned documents
- Merge reports from different sources
- Create complete documentation from chapters
- Open the "PPTX to PDF" tab
- Click Add Files to select PowerPoint files
- Multiple files will be converted and merged
- Use Remove Selected or Clear All as needed
- Click Browse to choose output location
- Click π CONVERT TO PDF
Note:
- Windows: Requires Microsoft PowerPoint
- Linux/Mac: Requires LibreOffice
- 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
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.
β "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 libreofficeTest 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
- Fork the repository to your own GitHub account
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to your fork (
git push origin feature/AmazingFeature) - Share your improvements with the community
- 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.
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.
Original Author: This project was created as a standalone utility tool.