| name | pptxconverter |
| description | Convert PowerPoint PPTX decks to editable HTML folders and convert edited HTML folders back to PPTX using the PPTXConverter CLI. Use when an agent needs to inspect, modify, round-trip, validate, or prepare PPTX slide content through HTML, including slide assets, chart tables, SVG/images, audio, video, and deck package folders. |
PPTXConverter
Use PPTXConverter when a task needs PPTX <-> HTML conversion. Prefer the packaged PPTXConverter executable when available; in a source checkout, use dotnet run --project src/PPTXConverter.Cli --.
Commands
Convert PPTX to HTML:
PPTXConverter pptx2html deck.pptx deck-html --overwrite
Convert HTML back to PPTX:
PPTXConverter html2pptx deck-html deck-edited.pptx --overwrite
From source:
dotnet run --project src/PPTXConverter.Cli -- pptx2html deck.pptx deck-html --overwrite
dotnet run --project src/PPTXConverter.Cli -- html2pptx deck-html deck-edited.pptx --overwrite
Optional flags:
--overwrite: allow replacing an existing output directory or PPTX.
--log-dir <dir>: write JSONL logs outside the default location.
--working-dir <dir>: HTML-to-PPTX scratch directory.
Do not pass --locale; the CLI uses the system UI locale and falls back to English.
Agent Workflow
- Export the source deck to a fresh working directory with
pptx2html.
- Edit
slides/*/slide.html, slides/*/assets/*, and chart table sidecars under slides/*/charts/*.html.
- Preserve
deck-manifest.json and roundtrip.json unless the task explicitly changes deck structure.
- Import the edited folder with
html2pptx.
- Check CLI output and
logs/*.jsonl; warnings usually mean an element was preserved but simplified.
HTML Folder Shape
deck-html/
|-- deck-manifest.json
|-- slides/
| |-- 0001/
| | |-- slide.html
| | |-- roundtrip.json
| | |-- assets/
| | `-- charts/
| | |-- chart-001.html
| | `-- chart-001.json
| `-- 0002/
| `-- slide.html
`-- logs/
`-- export.jsonl
Editing Rules
- Keep asset links slide-local, usually
assets/<file>.
- Edit chart data in the HTML table sidecar when present; keep the matching chart JSON if native chart round-trip is required.
- Plain SVG without chart metadata imports as normal SVG/picture content.
- If media metadata is incomplete, expect a warning and verify the asset still exists.
- Avoid editing generated logs; they are diagnostic output only.
- Use a new output path when preserving the original deck matters.
Validation
For a quick round-trip check:
PPTXConverter pptx2html input.pptx work-html --overwrite
PPTXConverter html2pptx work-html output.pptx --overwrite
If running from source, build first:
git submodule update --init --recursive
dotnet build PPTXConverter.slnx