Write
Slides, masters and themes, charts with real embedded workbooks, tables, groups, connectors, gradients, images in shapes, OLE objects, 3D models and LaTeX maths. Emitted as OOXML, validated against the ECMA-376 schemas.
Your first deck
Write .pptx packages that open cleanly in PowerPoint, read them back, and turn one into the script that would rebuild it.
Slides, masters and themes, charts with real embedded workbooks, tables, groups, connectors, gradients, images in shapes, OLE objects, 3D models and LaTeX maths. Emitted as OOXML, validated against the ECMA-376 schemas.
Your first deck
Open an existing package and inspect it through typed accessors. What the reader cannot yet see is measured and published rather than guessed at.
Reading a deck
Turn a .pptx into the TypeScript that would rebuild it, with a fidelity note for everything the conversion could not carry.
pptx → script
One ESM build. Node 24+, where require() reaches it through Node's own interop; any bundler; a browser, straight from an ESM CDN if you have no build step. No office application in the loop anywhere.
Where it runs
pnpm add pptx-tsInstallation covers npm, CommonJS, the optional math dependencies and the package's other name.