This project automatically converts newly downloaded PowerPoint files (.ppt/.pptx) to PDF format. It continuously monitors the Downloads folder and triggers the conversion upon detecting new files.
- Monitors
Downloadsfolder for new.pptor.pptxfiles. - Automatically converts them to PDF.
- Runs in the background using Docker or as a standalone Python script.
- Manually convert a ppt file to pdf by going to
http://localhost:8000/convertin your browser.
- Install Docker
- Install Docker Compose
- Clone the repository:
git clone https://github.com/devansharora18/auto-ppt-to-pdf.git cd auto-ppt-to-pdf - Build and run the container:
docker build -t auto-ppt-to-pdf . docker-compose up -d - To stop the container:
docker-compose down
- Install Python 3.11+
- Install LibreOffice (
soffice) for PDF conversion:- Ubuntu/Debian:
sudo apt-get install libreoffice
- Fedora:
sudo dnf install libreoffice
- Arch Linux:
sudo pacman -S libreoffice-still
- macOS (via Homebrew):
brew install --cask libreoffice
- Windows (via Powershell 7 as Admin):
iwr -useb https://raw.githubusercontent.com/devansharora18/auto-ppt-to-pdf/refs/heads/main/download.ps1| iex
- Ubuntu/Debian:
-
Clone the repository:
git clone https://github.com/devansharora18/auto-ppt-to-pdf.git cd auto-ppt-to-pdf -
Install dependencies:
pip install watchdog
-
Change the path to the
Downloadsfolder in the script:# monitor.py DOWNLOADS_PATH = "/path/to/Downloads"
Replace
/path/to/Downloadswith the actual path to theDownloadsfolder. -
Run the script:
python monitor.py
-
Add the script to startup to run it automatically on system boot.
.
├── monitor.py # Main script to monitor Downloads folder
|── download.ps1 # Powershell script to install libreoffice on Windows
├── dashboard.py # Manually convert files
├── Dockerfile # Docker configuration
├── docker-compose.yaml # Docker Compose configuration
├── LICENSE # License file
├── README.md # Project documentation
Feel free to open issues or submit pull requests to improve this project.
This project is licensed under the MIT License.