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-toolREADME
pdf-to-pptx-tool
A professional CLI tool that converts PDF documents into PowerPoint presentations
Table of Contents
- About
- Features
- Installation
- Usage
- Convert Command
- Multi-Level Verbosity Logging
- Shell Completion
- Development
- Testing
- Security
- Contributing
- License
- Author
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
| DPI | Quality | File Size | Best For |
|---|---|---|---|
| 72 | Low | Smallest | Quick previews, draft slides |
| 150 | Medium | Small | Web presentations, email |
| 200 | Good | Medium | Default - recommended for most |
| 300 | High | Large | Print quality, detailed diagrams |
| 600 | Very High | Very Large | Professional 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)
...
Publisher
Statistics
Stars0
Forks0
Open Issues1
LicenseMIT License
CreatedNov 21, 2025