Question

I'd like to create a PowerPoint (not Javascript/HTML/PDF/Keynote/.mov) using code (any language, C preferred) for free.

(I've seen this SO question which references how to create them in C#)

Is this even possible? How can I write the raw bits that make up a PowerPoint file? Any good libraries for doing this?

UPDATE The Microsoft Reference Page for the binary format is here.

Was it helpful?

Solution

Open Office has an API. You can use the C++ bindings (doc available here). If you really need C, you'll have to do some wrapping.. but hey, it's Christmas, isn't it ;-)

Open Office has export functions to create .ppt compatible files.

OTHER TIPS

PowerPoint you may not, but OpenOffice Impress you may. (Yoda style answer :) )

Take a look at the ODF Toolkit project. They aim to produce lots of libraries for generating this kind of content programatically.

Unless you're specifically interested in PowerPoint 2003 binary files, PowerPoint 2007 and up .PPTX files are actually a collection of XML files inside a zipped file. You can see that, by simply renaming a .pptx file to .zip and opening it. You can create these XML files in any way you like, such as writing code to do it. PresentationML defines the powerpoint XML documents, have a look here for example: http://msdn.microsoft.com/en-us/openspecifications/hh295812.aspx The standards could be found here: http://www.ecma-international.org/publications/standards/Ecma-376.htm

If you don't mind going to Java, Apache POI provides readers and writers for most MS Office formats (up to the 2003 version anyway).

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top