Skip to content

Repository files navigation

ShellPDF

ShellPDF is a Windows desktop application for converting Microsoft Office and LibreOffice documents to PDF in batch. It features multithreaded queue processing, Windows Explorer context menu integration, and headless CLI capabilities.

Features

  • Native Microsoft Office COM automation for Word, PowerPoint, and Excel documents.
  • Headless LibreOffice CLI fallback when Microsoft Office is not available.
  • Multithreaded conversion queue with real-time progress metrics and ETA estimation.
  • Windows Explorer context menu integration for right-click conversion.
  • Single-instance IPC architecture to prevent duplicate window creation.
  • CustomTkinter dark and light mode interface supporting dynamic system theme synchronization.
  • Persistent conversion history and diagnostic logging.

Supported Formats

Application Input Extensions Output Format
Microsoft Word .doc, .docx, .docm .pdf
Microsoft PowerPoint .ppt, .pptx, .pps, .ppsx .pdf
Microsoft Excel .xls, .xlsx, .xlsm .pdf
OpenDocument / Rich Text .odt, .ods, .odp, .rtf .pdf

Installation

Windows Setup Installer

  1. Download ShellPDF-Setup-v1.0.0.exe from the Releases section.
  2. Run the setup wizard to install the application, shortcuts, and Explorer context menu.

Portable Package

  1. Download ShellPDF-v1.0.0-Portable.zip.
  2. Extract the archive to any local folder and run ShellPDF.exe.

Usage

Graphical Interface

  • Click Add Files or Add Folder to populate the conversion queue.
  • Click Start Conversion to process all queued documents.
  • Click Open Output Folder to access converted PDF files.

Context Menu Usage

  • Right-click any supported file or group of files in Windows Explorer.
  • Select Convert to PDF with ShellPDF.
  • Selected files will automatically load into the running application queue.

Drag & Drop Usage

  • Drag supported document files directly from Windows Explorer into the application window.

Command Line Usage

# Convert a single document
ShellPDF.exe document.docx

# Convert multiple files using wildcards
ShellPDF.exe *.pptx

# Convert folder contents in headless mode
ShellPDF.exe --headless folder/*

# Register Windows Explorer context menu
ShellPDF.exe --register-context-menu

# Unregister Windows Explorer context menu
ShellPDF.exe --unregister-context-menu

Screenshots

Main Application Window

Main Window

Windows Explorer Context Menu Integration

Context Menu

Batch Conversion Progress

Conversion Progress

Building from Source

Requirements

  • Windows 10 or Windows 11
  • Python 3.13 or newer
  • Microsoft Office or LibreOffice

Setup Steps

  1. Clone the repository:
    git clone https://github.com/ShellPDF/ShellPDF.git
    cd ShellPDF
  2. Install Python dependencies:
    pip install -r requirements.txt
  3. Run unit tests:
    python -c "import unittest, sys; suite = unittest.defaultTestLoader.discover('tests'); res = unittest.TextTestRunner(stream=sys.stdout).run(suite); sys.exit(0 if res.wasSuccessful() else 1)"
  4. Build standalone executable and release packages:
    python release.py

Roadmap

  • Add PDF password protection options.
  • Add page range selection for document exports.
  • Add CLI progress output options.

Contributing

  1. Fork the repository.
  2. Create a feature branch (git checkout -b feature/improvement).
  3. Commit your changes (git commit -m "Add feature").
  4. Push to the branch (git push origin feature/improvement).
  5. Open a Pull Request.

License

This project is licensed under the MIT License. See LICENSE for details.

About

Windows Office and LibreOffice document to PDF batch converter

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages