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:
File > Export... > Pictures > JPEG
)Save As > Other Formats > JPEG
)You can also export entire slides as images directly from PowerPoint. Here's what to do: Open the PPT file and select File > Save As. In the Save As window, select an image format from the Save As Type drop-down list.
Select the PowerPoint slide/s containing locked shape(s) you need to unlock, then click 'Unlock objects' (Found beneath the Lock Object icon on the PPT Productivity Ribbon).
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
Given your requirement to run on Linux, it's probably easiest to automate OpenOffice.org.
Exporting as HTML will give you a JPEG or PNG image with configurable quality for each slide.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With