name: pptx-auto-windows description: Generate PPTX decks on Windows using bash and Python. Use when the user asks to auto-create slides, build a .pptx from a structured outline/spec, or convert HTML (optionally to PDF) before embedding into slides. Covers python-pptx workflows, template/theme reuse, and lightweight HTML-to-PDF rendering when available.
Pptx Auto Windows
Overview
Create .pptx decks on Windows with Python-only tooling, defaulting to python-pptx and a structured slide spec. Optionally render HTML to PDF first, then embed as full-bleed images if a renderer is available.
Workflow
- Collect inputs Ask for:
- Slide outline and desired layout types (title, bullets, image, two-column)
- Theme preference and whether a template
.pptxshould be used - Assets (images, logos) and target aspect ratio (16:9 or 4:3)
- Whether an HTML-first workflow is required
- Choose the build path
- Path A (default): Build directly with
python-pptxusing a slide spec. - Path B (optional): Generate HTML, render to PDF (if
weasyprintis installed), then place each rendered page as a full-bleed image in PPTX. Use only if the user explicitly wants HTML-first output and accepts the renderer dependency.
Generate slide spec Draft a JSON/YAML spec from the outline, confirm structure, then run
scripts/pptx_from_spec.py.Build the deck Run the script, inspect the output, and iterate on layout or assets.
Quick Start (Path A)
- Create a spec (see
references/slide_spec.md). - Run:
python scripts/pptx_from_spec.py --spec specs/demo.json --out output/demo.pptx --widescreen
Optional HTML -> PDF -> PPTX (Path B)
- Render HTML to PDF:
python scripts/html_to_pdf.py --html slides/index.html --out build/slides.pdf
- Convert PDF pages to images using a tool the user already has (Poppler, ImageMagick, etc.).
- Insert images into PPTX as full-bleed slides using
scripts/pptx_from_spec.pywithtype: imageslides.
Scripts
scripts/pptx_from_spec.py:- Build a PPTX from a JSON/YAML spec.
- Supports
title,bullets,image, andtwo_colslide types. - Optional
--templateto reuse theme layouts from an existing.pptx.
scripts/html_to_pdf.py:- Render HTML to PDF with
weasyprintif installed. - Fails with a clear install hint if the renderer is missing.
- Render HTML to PDF with
References
references/slide_spec.md: Spec format, examples, and layout notes.references/dependencies.md: Minimal dependency guidance forpython-pptxand optional HTML-to-PDF rendering.