PPTM to TXT
Your presentation never leaves your browser, and nothing is downloaded to make this work. An OpenDocument file is a ZIP of XML and your browser can already unzip; the rest is reading.
The words off the slides, in the order they are actually in.
This is the common need behind “convert my presentation”: somebody wants the script, not the deck. Each slide keeps its heading and its bullets, indented to the level they were nested at, and the speaker notes are kept apart so you can take them or leave them. The running order comes from the slide list inside the file rather than from the file names, which is explained below and is the thing most converters get wrong.
The order of the slides is not the order of the files
This is the one thing about PowerPoint's format that will
ruin a converter silently. The slides are
ppt/slides/slide1.xml, slide2.xml and so on, and
sorting those names is the obvious thing to do. Sorted as text they come
out:
slide1, slide10, slide11, slide12, slide2,
slide3…
So a twelve-slide deck arrives with slides ten, eleven and twelve sitting between the first and the second. Nothing errors. Nothing is missing. It is simply in the wrong order — and a deck of nine slides or fewer never shows it, so the fault survives every small test anybody writes.
The real running order is in
ppt/presentation.xml, as a list of relationship ids resolved
through ppt/_rels/presentation.xml.rels. That is where this
page reads it from, and it was checked on a twelve-slide deck for exactly
the reason above.
And the speaker notes are numbered separately
ppt/notesSlides/notesSlide1.xml is
not the notes for slide one. It is the notes for
whichever slide happens to be the first one that has any. A three-slide
deck with notes on the third slide only contains exactly one notes file,
numbered 1 — so a converter matching numbers puts the presenter's
private remarks on the wrong slide entirely.
Each slide's own relationships say which notes file is its own, and that is the only thing that works. They are read separately, counted, and left out unless you ask for them.
A notes page also carries a picture of the slide and the slide NUMBER alongside the notes. Take every piece of text in it and the notes come out with a stray digit on the end; only the notes body is read.
What a macro-enabled deck actually is
A .pptm is a .pptx with
one extra part inside it: vbaProject.bin,
holding a Visual Basic macro project. The slides are byte for byte what
the plain version holds, which is why this page reads it without doing
anything special.
The macros are never read and never run. That is not a limitation to apologise for; it is the reason most people are here. A macro is a program, and a program that arrived in a presentation is one of the commonest ways an office network is attacked. If your file has one it is said on screen.
What does not come across
The layout. A slide is boxes at coordinates; this is a document that reads top to bottom, so two columns become one after the other. Backgrounds, master slides, transitions and animations have nowhere to go. Pictures, charts, tables and embedded objects are counted but not carried, because they are separate parts inside the package.
Slide numbers, dates and footers are dropped on purpose: they are marked as furniture in the file, and a stale page number in the middle of a transcript helps nobody. Fields are dropped for the same reason — the number in one is whatever it was when the file was last saved.
Macros are never read and never run. A
.pptm is a .pptx with a macro project inside it,
and that project is exactly what cannot be turned into a document. If your
file has one it is said on screen, because “this had macros and they
are gone” is worth knowing.
Where to go next
- PPTM to Markdown — the same file, another way out
- PPTM to HTML — the same file, another way out
- PPTX to TXT — the template, which is the same format