组装幻灯片

向演示文稿添加幻灯片

在讨论向演示文稿文件添加幻灯片之前,先来了解一些关于幻灯片的事实。每个 PowerPoint 演示文稿文件都包含主母版/版式幻灯片以及其他普通幻灯片。这意味着演示文稿文件至少包含一个或多个幻灯片。需要注意的是,Aspose.Slides for .NET 不支持没有幻灯片的演示文稿文件。每个幻灯片都有唯一的 Id,所有普通幻灯片按照零基索引的顺序排列。

Aspose.Slides for .NET 允许开发者向演示文稿添加空白幻灯片。要在演示文稿中添加空白幻灯片,请按以下步骤操作:

  • 创建 Presentation 类的实例
  • 通过设置对 Presentation 对象公开的 Slides(内容 Slide 对象集合)属性的引用来实例化 SlideCollection
  • 调用 SlideCollection 对象公开的 AddEmptySlide 方法,在内容幻灯片集合的末尾添加空白幻灯片
  • 对新添加的空白幻灯片进行相应操作
  • 最后,使用 Presentation 对象写入演示文稿文件

 PresentationEx pres = new PresentationEx();

//实例化 SlideCollection 类

SlideExCollection slds = pres.Slides;

for (int i = 0; i < pres.LayoutSlides.Count; i++)

{

	//向 Slides 集合添加空白幻灯片

	slds.AddEmptySlide(pres.LayoutSlides[i]);

}

//将 PPTX 文件保存到磁盘

pres.Write("EmptySlide.pptx");

访问演示文稿的幻灯片

Aspose.Slides for .NET 提供了 Presentation 类,可用于查找和访问演示文稿中任何所需的幻灯片。

使用 Slides 集合

Presentation 类表示一个演示文稿文件,并将其中的所有幻灯片公开为 SlideCollection 集合(即 Slide 对象的集合)。可以通过幻灯片索引从此 Slides 集合访问所有幻灯片。


 //实例化表示演示文稿文件的 Presentation 对象

PresentationEx pres = new PresentationEx("Slides Test Presentation.pptx");

//使用幻灯片索引访问幻灯片

SlideEx slide = pres.Slides[0];

删除幻灯片

我们知道 Aspose.Slides for .NET 中的 Presentation 类代表一个演示文稿文件。Presentation 类封装了一个 SlideCollection,该集合充当演示文稿中所有幻灯片的仓库。开发者可以通过两种方式从 Slides 集合中删除幻灯片:

  • 使用幻灯片引用
  • 使用幻灯片索引

使用幻灯片引用

要使用引用删除幻灯片,请按以下步骤操作:

  • 创建 Presentation 类的实例
  • 通过其 Id 或 Index 获取幻灯片的引用
  • 从演示文稿中移除该引用的幻灯片
  • 写入修改后的演示文稿文件

 //实例化表示演示文稿文件的 Presentation 对象

PresentationEx pres = new PresentationEx("Slides Test Presentation.pptx");

//使用幻灯片集合中的索引访问幻灯片

SlideEx slide = pres.Slides[0];

//使用引用删除幻灯片

pres.Slides.Remove(slide);

//写入演示文稿文件

pres.Write("modified.pptx");

更改幻灯片位置

更改演示文稿中幻灯片的位置非常简单。只需按以下步骤操作:

  • 创建 Presentation 类的实例
  • 通过其 Index 获取幻灯片的引用
  • 更改该引用幻灯片的 SlideNumber
  • 写入修改后的演示文稿文件

在下面的示例中,我们将演示文稿中位于零索引位置 1 的幻灯片位置更改为索引 1(位置 2)。


 private static string MyDir = @"..\..\..\Sample Files\";

static void Main(string[] args)

{

AddingSlidetoPresentation();

AccessingSlidesOfPresentation();

RemovingSlides();

ChangingPositionOfSlide();

}

public static void AddingSlidetoPresentation()

{

Presentation pres = new Presentation();

//实例化 SlideCollection 类

ISlideCollection slds = pres.Slides;

for (int i = 0; i < pres.LayoutSlides.Count; i++)

{

    //向 Slides 集合添加空白幻灯片

    slds.AddEmptySlide(pres.LayoutSlides[i]);

}

//将 PPTX 文件保存到磁盘

pres.Save(MyDir + "Assemble Slides.pptx", SaveFormat.Pptx);

}

public static void AccessingSlidesOfPresentation()

{

//实例化表示演示文稿文件的 Presentation 对象

Presentation pres = new Presentation(MyDir + "Assemble Slides.pptx");

//使用幻灯片索引访问幻灯片

ISlide slide = pres.Slides[0];

}

public static void RemovingSlides()

{

//实例化表示演示文稿文件的 Presentation 对象

Presentation pres = new Presentation(MyDir + "Assemble Slides.pptx");

//使用幻灯片集合中的索引访问幻灯片

ISlide slide = pres.Slides[0];

//使用引用删除幻灯片

pres.Slides.Remove(slide);

//写入演示文稿文件

pres.Save(MyDir + "Assemble Slides.pptx", SaveFormat.Pptx);

}

public static void ChangingPositionOfSlide()

{

//实例化 Presentation 类以加载源演示文稿文件

Presentation pres = new Presentation(MyDir + "Assemble Slides.pptx");

{

    //获取需要更改位置的幻灯片

    ISlide sld = pres.Slides[0];

    //设置幻灯片的新位置

    sld.SlideNumber = 2;

    //将演示文稿写入磁盘

    pres.Save(MyDir + "Assemble Slides.pptx", SaveFormat.Pptx);

}

}

下载示例代码