Introduction
PPTX is the default format of
Microsoft PowerPoint
since PowerPoint 2007, replacing the older binary
.ppt. It is the presentation part
of Office Open XML (ECMA-376 and ISO/IEC 29500): a ZIP archive with one XML part per
slide, plus the layouts and masters the slides are built on, speaker notes, themes and
media.
.pptm is the same layout with macros, .potx a template, and
.ppsx a show that opens straight
into the slide show.
Structure
ppt/presentation.xml lists the slides in order and sets the slide size.
Each slide, such as ppt/slides/slide1.xml, is a tree of shapes holding
text, pictures and charts. A slide is based on a layout in
ppt/slideLayouts/, and each layout on a master in
ppt/slideMasters/, so placeholders inherit their position and style.
Relationship files next to each part link it to its layout, notes and media.
zip[Content_Types].xml, _rels/.relsXMLzipppt/presentation.xml slide order and sizeXMLzipppt/slides/ one part per slideXMLzipppt/slideLayouts/, ppt/slideMasters/, ppt/theme/XMLzipppt/notesSlides/ speaker notesXMLzipppt/media/ pictures, audio and videomedia
Links
Software
- Microsoft PowerPoint (Windows, macOS, web, mobile)
- LibreOffice Impress (Windows, macOS, Linux)
- Google Slides (web browsers)
- Apple Keynote (macOS, iOS)
- ONLYOFFICE (Windows, macOS, Linux, web)
Developers
- python-pptx, Python library that reads and writes PPTX
- Apache POI, Java library for Office files, PPTX through its XSLF classes
- Open XML SDK, .NET library from Microsoft for Office Open XML packages
Reference
- ECMA-376 Office Open XML File Formats, Ecma International