user2672399
user2672399

Reputation: 195

Remove all animations pptx from Powerpoint Presentation using OpenXML SDK

I'm currently working on editing my existing PowerPoint file (.pptx) using OpenXML SDK. Can I know how to remove all animations from my PowerPoint presentation?

The reason for this is I want a clean non-animated ppt for my use case. I've checked everywhere and there is minimal to no documentation regarding animation using OpenXML.

Thanks.

Upvotes: 3

Views: 200

Answers (1)

Todd Main
Todd Main

Reputation: 29153

Yeah, here's how I do it with the Timing class, it's pretty straight-forward.

In VB.Net:

Imports Presentation = DocumentFormat.OpenXml.Presentation
Imports DocumentFormat.OpenXml.Packaging
Module Module1

    Sub Main()
        Dim fileName As String = "C:\folder\New PPTX Presentation.pptx"

        Using deck As PresentationDocument = PresentationDocument.Open(fileName, True)
            For Each slidePart As SlidePart In deck.PresentationPart.SlideParts
                Dim animationTimings As IEnumerable(Of Presentation.Timing) = slidePart.Slide.Descendants(Of Presentation.Timing)()
                For Each animationTiming As Presentation.Timing In animationTimings
                    animationTiming.Remove()
                Next
            Next
        End Using

    End Sub
End Module

In C#:

using Presentation = DocumentFormat.OpenXml.Presentation;
using DocumentFormat.OpenXml.Packaging;

static class Module1
{
    public static void Main()
    {
        string fileName = @"C:\folder\New PPTX Presentation.pptx";

        using (PresentationDocument deck = PresentationDocument.Open(fileName, true))
        {
            foreach (SlidePart slidePart in deck.PresentationPart.SlideParts)
            {
                IEnumerable<Presentation.Timing> animationTimings = slidePart.Slide.Descendants<Presentation.Timing>();
                foreach (Presentation.Timing animationTiming in animationTimings)
                    animationTiming.Remove();
            }
        }
    }
}

Upvotes: 3

Related Questions