dnvriend/pdf-to-pptx-tool

Professional CLI tool that converts PDF documents into PowerPoint presentations

0 stars0 forksUpdated Dec 5, 2025
npx skills add dnvriend/pdf-to-pptx-tool

README

pdf-to-pptx-tool

pdf-to-pptx-tool logo

Python Version License: MIT Code style: ruff Type checked: mypy AI Generated Built with Claude Code

A professional CLI tool that converts PDF documents into PowerPoint presentations

Table of Contents

About

pdf-to-pptx-tool is a Python CLI tool built with modern tooling and best practices.

Features

  • 📄 PDF to PowerPoint Conversion: Convert PDF documents to PPTX format
  • 🎨 Customizable Quality: Adjustable DPI (72-600) for quality vs file size
  • 📐 16:9 Slides: Professional widescreen format (10" × 5.625")
  • 🖼️ Full-Page Images: Each PDF page becomes a full-slide image
  • 📊 Multi-level Verbosity: Progressive logging (-v/-vv/-vvv) for debugging
  • 🐚 Shell Completion: Native completion for bash, zsh, and fish
  • Type-Safe: Strict mypy checking for reliability
  • 🔒 Security Scanned: bandit, pip-audit, and gitleaks
  • Modern Tooling: Built with Click, uv, and Python 3.14+

Installation

Prerequisites

  • Python 3.14 or higher
  • uv package manager
  • poppler system library (for PDF rendering)
    # macOS
    brew install poppler
    
    # Ubuntu/Debian
    sudo apt-get install poppler-utils
    
    # Fedora
    sudo dnf install poppler-utils
    

Install from source

# Clone the repository
git clone https://github.com/dnvriend/pdf-to-pptx-tool.git
cd pdf-to-pptx-tool

# Install globally with uv
uv tool install .

Install with mise (recommended for development)

cd pdf-to-pptx-tool
mise trust
mise install
uv sync
uv tool install .

Verify installation

pdf-to-pptx-tool --version

Usage

Convert PDF to PowerPoint

# Basic conversion (default 200 DPI)
pdf-to-pptx-tool convert document.pdf slides.pptx

# High quality conversion (300 DPI)
pdf-to-pptx-tool convert report.pdf presentation.pptx --dpi 300

# With verbose logging to see progress
pdf-to-pptx-tool -v convert input.pdf output.pptx

# With debug logging for troubleshooting
pdf-to-pptx-tool -vv convert problematic.pdf fixed.pptx

Show Help

# General help
pdf-to-pptx-tool --help

# Convert command help
pdf-to-pptx-tool convert --help

# Completion command help
pdf-to-pptx-tool completion --help

# Show version
pdf-to-pptx-tool --version

Convert Command

The convert command transforms PDF documents into PowerPoint presentations.

Syntax

pdf-to-pptx-tool convert INPUT_PDF OUTPUT_PPTX [OPTIONS]

Arguments

  • INPUT_PDF: Path to the input PDF file (required)
  • OUTPUT_PPTX: Path to the output PowerPoint file (required)
  • --dpi INTEGER: Resolution for conversion (default: 200)
    • Range: 72-600 DPI
    • Higher DPI = better quality but larger files
    • Recommended: 200-300 for most presentations

DPI Quality Guidelines

DPIQualityFile SizeBest For
72LowSmallestQuick previews, draft slides
150MediumSmallWeb presentations, email
200GoodMediumDefault - recommended for most
300HighLargePrint quality, detailed diagrams
600Very HighVery LargeProfessional print, posters

Examples

# Basic conversion with default 200 DPI
pdf-to-pptx-tool convert quarterly-report.pdf q4-presentation.pptx

# High quality for detailed diagrams
pdf-to-pptx-tool convert technical-doc.pdf slides.pptx --dpi 300

# Quick preview with lower quality
pdf-to-pptx-tool convert draft.pdf preview.pptx --dpi 150

# Batch conversion
for pdf in *.pdf; do
  pdf-to-pptx-tool convert "$pdf" "${pdf%.pdf}.pptx"
done

Output Format

  • Aspect Ratio: 16:9 widescreen
  • Slide Size: 10 inches × 5.625 inches
  • Layout: One full-slide image per PDF page
  • Image Format: PNG embedded in slides
  • Compatibility: PowerPoint 2007+ (Windows/Mac/Online)

...

Read full README

Publisher

dnvrienddnvriend

Statistics

Stars0
Forks0
Open Issues1
LicenseMIT License
CreatedNov 21, 2025