English 中文(简体)
How can I programmatically create PowerPoint presentations. On Linux. For Free.
原标题:

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.

最佳回答

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.

问题回答

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).





相关问题
Fastest method for running a binary search on a file in C?

For example, let s say I want to find a particular word or number in a file. The contents are in sorted order (obviously). Since I want to run a binary search on the file, it seems like a real waste ...

Print possible strings created from a Number

Given a 10 digit Telephone Number, we have to print all possible strings created from that. The mapping of the numbers is the one as exactly on a phone s keypad. i.e. for 1,0-> No Letter for 2->...

Tips for debugging a made-for-linux application on windows?

I m trying to find the source of a bug I have found in an open-source application. I have managed to get a build up and running on my Windows machine, but I m having trouble finding the spot in the ...

Trying to split by two delimiters and it doesn t work - C

I wrote below code to readin line by line from stdin ex. city=Boston;city=New York;city=Chicago and then split each line by ; delimiter and print each record. Then in yet another loop I try to ...

Good, free, easy-to-use C graphics libraries? [closed]

I was wondering if there were any good free graphics libraries for C that are easy to use? It s for plotting 2d and 3d graphs and then saving to a file. It s on a Linux system and there s no gnuplot ...

Encoding, decoding an integer to a char array

Please note that this is not homework and i did search before starting this new thread. I got Store an int in a char array? I was looking for an answer but didn t get any satisfactory answer in the ...

热门标签