views:

493

answers:

3

I'm just wondering if anybody knows an open source project devoted to convert ppt (or pptx) file to an easy-to-render format - html, jpg or other picture type, pdf...

I've developed some code to start reading an office file (I'm talking about the Compound Binary File) and now I've started to crack on the internal ppt streams like Picture and PowerPoint document. But each stream, as many of you know, it's huge, and write code to render it is a massive job. So, if anybody knows an Open Source project that reads and export it to an easier file to render, (must be in C++ or C - could be in C#, java since it doesn't use any API/lib facility)

Please, don't ask me why I'm doing this :-).

I really appreciate.

+3  A: 

Powerpoint has an option to save as web-page or publish as web-page. It can be found under the file menu. You could also look into using the following which supposedly gives more control of layout: pp2html

macneil
Yes, I now, but I need to do it pragmatically in C / C++, and my target OS / machine, doesn't have any support in terms of libs and API. Thanks anyway.
Andres
Look into Apache Jakarta POI for java. It does what you are talking about for Microsoft files. I've used it for .doc, .docx, and most excel files. I know this doesn't answer your question, but hopefully it will be a good start
macneil
Ok, I'll look, many thanks ;-)
Andres
docx4j (Java) can now read pptx files; I'm working on basic SVG export. You'd need to extend this though to make it comprehensive.
plutext
A: 

The applications in the KOffice 2.x suite are easily scripted to output PDF, and ImageMagick can be utilized to split a PDF into pages if desired.

$ kpresenter --export-pdf --export-filename output.pdf input.ppt
Loading file /home/ephemient/input.ppt
  UserEditAtom
  LastSlideID 256
  MajorVersion 768
  MinorVersion 3516
  Offset Last Edit 0
  Offset Persist Dir 151466
  Document Ref 1

/home/ephemient/input.ppt loaded. Done.
$ convert output.pdf page.png
$ ls -1v
input.ppt
output.pdf
page-1.png
page-2.png
page-3.png
...
ephemient
Good to know that, but as I said, my target machine / OS, doesn't have any API, libs, even Open Office. So I really need to re-write all the code to open/parse and render the ppt file. I was just thinking if some body has already done it to save me some time. Thanks anyway
Andres
A: 

Hi Andres

Have you tried NPOI?

Best

Vagaus