How to read the animation effects (C# .NET)

When will we see the ability to read animation information from a powerpoint?

I am looking forward to it.


Hi,

We are working with it now. I hope animations will be ready before February.

I see slide transition capabilities were added. Any updates on other animation capabilities?

Dear Keir,

New release will be published today at night.
It will support shape animations of PowerPoint 2000.

I’m very happy to see animation support added to the aspose.powerpoint, but it does seem to have some issues.

First, it does seem that it would be benefitial for the shape to contain an array of animations, rather than a single one, given that Powerpoint allows as many sequential or concurrent animations as one would like. With the aspose.powerpoint you can only see the first animation.

Also, what about other important features of the animation such as speed, timing, custom animation paths, etc. Perhaps if we could access a vml animation path such as that in the office automation libraries.

Still, it is a great improvement!

Keep up the good work Aspose!

Dear Keir,

Probably I forgot to write in the blog.
Aspose.PowerPoint now supports animation up to MS PowerPoint 2000. It can have only one animation per shape and only entry effects.

Animation from PowerPoint XP and 2003 is another long story…

Oh ok, this makes more sense.

Alexy/Alcrus,

Please can you advise when the limited functionality surrounding animations is going to be addressed for PowerPoint 2000/2003?

As it stands now the animations will not start until the voice over has finished. We are stuck because timing and multiple types of animation are essential to making a slide build to match the voice over.

BTW The animations in the orinigal slides were constructed in PowerPoint 2000 and we are using the very latest Aspose.Slides.DLL for .Net 1.1.

Thanks, Allan.

There are exist some unknown fields in the animation records and unfortunately we don’t know how to work with it yet.
Could you explain better what would you like to achieve and how you do it.
After you created original slides in PP2000 what Aspose.Slides should do with it?

What we want Alexey is to be able to clone a slide in its entirity and not to lose any of the animations.

I have attached a .zip file containing the original slide with the custom animation settings ('Original Exec Summary slide.ppt') and an Aspose generated presentation ('cloned slide.ppt') containing the slide cloned to make the 2nd slide in the presentation.

From these .PPTs you wil see that of the 20+ custom animation settings maintained in the original slide, only 3 remain after the slide is cloned.

Thanks, Allan.

Allan,

There are some problems with animations which will be fixed asap:
For example sound icon visible and animation properties are changed after slide cloning.
But in whole I’m afraid assigning separate animations to each paragraph is not supported.
I will try to change CloneSlide to allow correct cloning such slides but can’t promise good results.

Alexey,

Thanks for this update.

Do you have any idea of the timeframe for the next release containing the animation fix?

Allan.

I see that Aspose.Slides for .Net 2.5.14.0 has been released allowing support for MS PowerPoint 2007.

Have the Animation issues been resolved in this 2.5.14.0 release either for PPT 2007 or earlier versions?

Hello,

Please can you provide an update of what new animation features are available in the Aspose.Slides.DLL for .Net 1.1 and what issues surrounding animation have been resolved since October 2006?

Thanks, Allan.

@KeirGordon,

In order to read the animation effects and their duration, you may use latest Aspose.Slides for .NET 20.6 on your end.

In the shared example, the first shape in TestAnimation.pptx presentation has one Fly effect with TriggerDelayTime = 1sec and NaN Duration.

This effect has three behaviors:

SetEffect with Duration = 0.001sec
PropertyEffect with Duration = 5sec
PropertyEffect with Duration = 5sec

The second shape has one Wipe effect with TriggerDelayTime = 1sec and NaN Duration.
And this effect has two behaviors:

SetEffect with Duration = 0.001sec
FilterEffect with Duration = 10sec

Presentation pres = new Presentation(path + "TestAnimation.pptx");
            ISlide slide = pres.Slides[0];

            foreach (Shape shape in slide.Shapes)
            {
                if (shape.Slide.Timeline != null && shape.Slide.Timeline.MainSequence != null)
                {
                    IEffect[] effects = slide.Timeline.MainSequence.GetEffectsByShape(shape);
                    //Iterating through all shape effects
                    foreach (IEffect effect in effects)
                    {
                        Console.WriteLine("Effect type: " + effect.Type);
                        Console.WriteLine("Effect delay time: " + effect.Timing.TriggerDelayTime);
                        Console.WriteLine("Effect duration: " + effect.Timing.Duration);

                        // Reading the effect behaviors
                        IBehaviorCollection behaviors = effect.Behaviors;
                        foreach (IBehavior behavior in behaviors)
                        {
                            Console.WriteLine(" Behavior type: " + behavior.GetType());
                            Console.WriteLine("  Behavior delay time: " + behavior.Timing.TriggerDelayTime);
                            Console.WriteLine("  Behavior duration: " + behavior.Timing.Duration);
                        }
                    }
                }
            }

TestAnimation.zip (358.2 KB)