*.pptx
is actually a standard ZIP file with certain directory structure that contains some XML and attachments as files. Those embedded objects are attached as files, too.
You can rename (or copy, or link) it to something.zip
and just unpack the contents to find embedded files:
$ ln -s "IT Department.pptx" "IT Department.pptx.zip"
$ unzip "IT Department.pptx.zip"
$ ls -1 ppt/embeddings
Microsoft_PowerPoint_Presentation.pptx
Microsoft_PowerPoint_Presentation1.pptx
Microsoft_PowerPoint_Presentation2.pptx
oleObject1.bin
oleObject2.bin
(I suggest to create and work in a subdirectory to make cleaning the mess easier afterwards.)
In this case three embedded files are obvious PowerPoint documents, for the remaining bin files you may determine what they are with the file
tool:
$ file oleObject1.bin
..., Name of Creating Application: Microsoft Office Word, ...
$ file oleObject2.bin
..., Name of Creating Application: Microsoft Office PowerPoint, ...
(or you may look inside and infer the right application from it).
Then, you can rename them to e.g. oleObject1.doc
and oleObject2.ppt
and open with LibreOffice.
What is left is to determine "which one is where in the presentation". It should be possible by examining the main xml document (ppt/presentation.xml
), but that's very cumbersome. In my case I found that from the context.
It's a pity the LibreOffice still lacks this feature, though!