tags:

views:

175

answers:

2

Hello,

I am using Office 07 PIA to convert the ppt into images in C#.

The slides are properly converted into images.

Now, while individual slides are converted into images, I was hoping for a workaround that could also convert the animations within slides too. I want to play these ppt [converted to images] in my custom application and not in MS PowerPoint.

I would really appreciate any help!

Thanks

A: 

The question is difficult to understand.

However from what I gather you are trying to display PowerPoint Slides in your custom C# Application?

Solution 1:

Convert each PPT slide into HTML format (this should be possible from PowerPoint e.g. save as).

Drop a web-Browser component onto your application, and then simply point to the HTML file(s). You could even get the 'next' abd 'prev' buttons to go to the next 'slide' or bind it to mouse click.

As for videos, I'm not sure how exporting HTML from PowerPoint would handle this, you may be able to convert the Video to FLV, and imbed a basic FLV flash player into the HTML 'slide' file(s)

Extended Solution 1:

To deal with the animations (PowerPoint Fades etc) you could use this free product iSpring. This converts PPT to Flash (including animations and videos I believe). Which can then be embedded into a HTML file and played back on a web browser Component.

Edit 2: iSpring is no longer free

Darknight
See, I have a Picture Box that displays the ppt slides that are converted into images. Now the animations within the slides are not accounted for in this process. I was hunting for a workaround for the same!
James
Are you talking about PowerPoint Animations (e.g. transitions/fades etc?) or video animations?
Darknight
Yes, I am talking about the PowerPoint Animations.
James
ok, please see my Extended solution.
Darknight
Actually I am creating the images from slides at runtime, so want to do stuff programmatically. anyways thanks for the link.
James
@Darknight: iSpringFree is still free, it's just at a different URL: http://www.ispringfree.com/
Otaku
@Otaku Cheers! didn't know that! :)
Darknight
+1  A: 

It's pretty simple:

Office 2002

using Microsoft.Office.Core;
using PowerPoint;

ApplicationClass pptApplication = new ApplicationClass();

Presentation pptPresentation = pptApplication.Presentations.Open("myfile.ppt", MsoTriState.msoFalse,
MsoTriState.msoFalse, MsoTriState.msoFalse);

pptPresentation.Slides.Item(1).Export("slide.jpg", "jpg", 320, 240);

Office 2003

using Microsoft.Office.Core;
using Microsoft.Office.Interop.PowerPoint;

ApplicationClass pptApplication = new ApplicationClass();
Presentation pptPresentation = pptApplication.Presentations.Open("myfile.ppt", MsoTriState.msoFalse,
MsoTriState.msoFalse, MsoTriState.msoFalse);

pptPresentation.Slides.Item[1].Export("slide.jpg", "jpg", 320, 240);

Image Output Quality

pptPresentation.Slides.Item[1].Export("slide.png", "PNG", 1024, 768);
Lukas Šalkauskas
this would just convert the slides into images, right? I also want to convert the animations within the slides to some presentable format.
James
yes, hmm i don't know what about animations, maybe it will split animations to different images, need to test, but this is functionality which provided to us by MS, any other functionality we should create by our selves :/
Lukas Šalkauskas
I have tested, it does not create images for animations. Yes, we need to do the "extra" functionalities ourselves and thus I am asking for some leads in to going about it. I'm doing this for a college project.
James
also it's possible to convert it to flash, and then you should have possibility to reflect animation in a nice way. Here is an free trial SDK: http://www.ispringsolutions.com/products/ispring_sdk.html
Lukas Šalkauskas
also there is a way to catch events, so maybe they could help you in some way: http://support.microsoft.com/?kbid=308825
Lukas Šalkauskas
I shall check out the KB. Thanks mate :)
James