使用 OpenXML SDK 从 Powerpoint 演示文稿中删除所有动画 pptx
Remove all animations pptx from Powerpoint Presentation using OpenXML SDK
我目前正在使用 OpenXML SDK 编辑现有的 PowerPoint 文件 (.pptx)。我能知道如何从我的 PowerPoint 演示文稿中删除所有动画吗?
这样做的原因是我想要一个干净的非动画 ppt 用于我的用例。我到处都检查过,关于使用 OpenXML 的动画的文档很少甚至没有。
谢谢。
是的,这就是我使用 Timing
class 的方法,非常漂亮 straight-forward。
在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
在 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();
}
}
}
}
我目前正在使用 OpenXML SDK 编辑现有的 PowerPoint 文件 (.pptx)。我能知道如何从我的 PowerPoint 演示文稿中删除所有动画吗?
这样做的原因是我想要一个干净的非动画 ppt 用于我的用例。我到处都检查过,关于使用 OpenXML 的动画的文档很少甚至没有。
谢谢。
是的,这就是我使用 Timing
class 的方法,非常漂亮 straight-forward。
在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
在 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();
}
}
}
}