The PPT file format is very well documented as per Microsoft’s Open Specification Promise. However, accessing any part of a PPT file isn’t really a snap.

I’ve created a small C# program which parses the \Pictures stream from a PPT file. For that, one needs to:

  • Extract the Pictures stream from the PPT OLE storage
  • Parse the stream according to the OfficeArtFBSE format
  • Extract all the binary pictures according to format: WMF, EMF, PNG, JPG

image

This can be used for damaged PPT files where the shapes that contain pictures can’t be viewed anymore.