1
votes

I need to split PowerPoint presentation file (pptx and, if possible, ppt) into a set of original format files (pptx or ppt) – each containing one slide from the original. I need to do this programmatically on Linux Ubuntu server using free tools or external free API. When a file gets uploaded to a directory program will be called from my main program (written in PHP) and do the split.

I am looking for suggestions about language or set of tools to use. I looked at several options listed below. It will take some time to try all of them but if anyone could exclude or add to the list and/or provide code examples it would help.

Thanks!

(1) Apache POI project (POI-XSLF)

(2) OpenOffice unoconv command line utility

(3) C# (with compiler Mono for Linux). This may include indirect option of deleting slides with powerPoint.Slides(x).Delete

(4) JODConverter (Java OpenDocument Converter)

(5) PyODConverter (Python OpenDocument Converter)

(6) Google Documents API

(7) Aspose.Slides for .NET is out because of cost

1
When you say one slide per file, do you mean one pptx file per slide, or are you thinking HTML or PDF? An alternative to POI is pptx4j.JasonPlutext
I mean pptx file per slide. I must keep the original format for each derivative when splitting into multiple files. --Thanks.user1293929

1 Answers

0
votes

When I had the same needs I ended up shelling and using "UNOCONV" to convert the files to PDF. And then used "PDFTK" to split the file by pages. Once that is done you should be able to take the extra step and convert the new split PDF files back to PPTX using one more UNOCONV.

While it seems rather complicated, PPTX seems to be "that one ooxml file no one wants to touch". Libraries seem to be few and incomplete mostly.