Search code examples
imagelanguage-agnosticms-officepowerpointopenoffice.org

Programmatically extracting slides as images from a PowerPoint presentation (.PPT)


Given a PowerPoint presentation in .ppt format, what is the best way to programmatically and using only open source software extract an image representation (in say .jpg or .png) of each slide in the presentation?

The application will run in a Linux server environment, so installing Microsoft Office or Keynote is not an option.

The functionality that I want to achieve programmatically is similar to:

  • Keynote's export functionality (File > Export... > Pictures > JPEG)
  • PowerPoint's Save As JPEG functionality (Save As > Other Formats > JPEG)

Solution

  • You should probably give unoconv a try. According to the man page, "unoconv is a command line utility that can convert any file format that OpenOffice can import, to any file format that OpenOffice is capable of exporting. "

    So, to convert ppt to, say, png, you do:

    unoconv -f png some-slides.ppt
    

    Should that failed, you may try JODConverter or PyODConverter from Art of Solving. For example, you can use JODConverter from command line:

    java -jar lib/jodconverter-cli-2.2.0.jar document.ppt document.png