AgentSkillsCN

pptx-auto-windows

在 Windows 上使用 Bash 与 Python 生成 PPTX 演示文稿。当用户希望自动创建幻灯片、根据结构化大纲或规格构建 .pptx 文件,或在将 HTML(可选转为 PDF)嵌入幻灯片之前进行转换时,可选用此方法。涵盖 python-pptx 工作流、模板/主题复用,以及在可用时轻量级的 HTML 转 PDF 渲染功能。

SKILL.md
--- frontmatter
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

  1. Collect inputs Ask for:
  • Slide outline and desired layout types (title, bullets, image, two-column)
  • Theme preference and whether a template .pptx should be used
  • Assets (images, logos) and target aspect ratio (16:9 or 4:3)
  • Whether an HTML-first workflow is required
  1. Choose the build path
  • Path A (default): Build directly with python-pptx using a slide spec.
  • Path B (optional): Generate HTML, render to PDF (if weasyprint is 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.
  1. Generate slide spec Draft a JSON/YAML spec from the outline, confirm structure, then run scripts/pptx_from_spec.py.

  2. Build the deck Run the script, inspect the output, and iterate on layout or assets.

Quick Start (Path A)

  1. Create a spec (see references/slide_spec.md).
  2. Run:
bash
python scripts/pptx_from_spec.py --spec specs/demo.json --out output/demo.pptx --widescreen

Optional HTML -> PDF -> PPTX (Path B)

  1. Render HTML to PDF:
bash
python scripts/html_to_pdf.py --html slides/index.html --out build/slides.pdf
  1. Convert PDF pages to images using a tool the user already has (Poppler, ImageMagick, etc.).
  2. Insert images into PPTX as full-bleed slides using scripts/pptx_from_spec.py with type: image slides.

Scripts

  • scripts/pptx_from_spec.py:

    • Build a PPTX from a JSON/YAML spec.
    • Supports title, bullets, image, and two_col slide types.
    • Optional --template to reuse theme layouts from an existing .pptx.
  • scripts/html_to_pdf.py:

    • Render HTML to PDF with weasyprint if installed.
    • Fails with a clear install hint if the renderer is missing.

References

  • references/slide_spec.md: Spec format, examples, and layout notes.
  • references/dependencies.md: Minimal dependency guidance for python-pptx and optional HTML-to-PDF rendering.