投影片
Contents
[
Hide
]
本文提供了一系列範例,示範如何使用 Aspose.Slides for .NET 來操作投影片。您將學習如何使用 Presentation 類別新增、存取、複製、重新排序以及移除投影片。
以下每個範例皆包含簡要說明,並附有 C# 程式碼片段。
新增投影片
若要新增投影片,必須先選擇版面配置。本範例中,我們使用 Blank 版面,並向簡報中新增一張空白投影片。
static void AddSlide()
{
using var presentation = new Presentation();
// 每張投影片皆基於版面配置,而版面配置本身則來源於母片。
// 使用 Blank 版面建立新投影片。
var blankLayout = presentation.LayoutSlides.GetByType(SlideLayoutType.Blank);
// Add a new empty slide using the selected layout.
presentation.Slides.AddEmptySlide(layout: blankLayout);
}
💡 Note: 每個投影片版面都是從母片衍生而來,母片定義了整體設計與占位符結構。下圖說明了 PowerPoint 中母片與其相關版面如何組織。

依索引存取投影片
您可以透過索引存取投影片,或根據參考取得投影片的索引。此功能在遍歷或修改特定投影片時相當有用。
static void AccessSlide()
{
// 預設情況下,簡報會建立一張空白投影片。
using var presentation = new Presentation();
// 再新增一張空白投影片。
var blankLayout = presentation.LayoutSlides.GetByType(SlideLayoutType.Blank);
presentation.Slides.AddEmptySlide(layout: blankLayout);
// 依索引存取投影片。
var firstSlide = presentation.Slides[0];
var secondSlide = presentation.Slides[1];
// 從參考取得投影片索引,然後依索引存取它。
var secondSlideIndex = presentation.Slides.IndexOf(secondSlide);
var secondSlideByIndex = presentation.Slides[secondSlideIndex];
}
複製投影片
此範例示範如何複製現有投影片。複製出的投影片會自動加入投影片集合的末端。
static void CloneSlide()
{
// 預設情況下,簡報只包含一張空白投影片。
using var presentation = new Presentation();
var firstSlide = presentation.Slides[0];
// 複製第一張投影片;它會被加入到簡報的末端。
var clonedSlide = presentation.Slides.AddClone(sourceSlide: firstSlide);
// 複製投影片的索引為 1(簡報中的第二張投影片)。
var clonedSlideIndex = presentation.Slides.IndexOf(clonedSlide);
}
重新排序投影片
您可以透過將投影片移至新索引來變更順序。在此例中,我們將複製的投影片移至第一個位置。
static void ReorderSlide()
{
using var presentation = new Presentation();
var firstSlide = presentation.Slides[0];
// 新增第一張投影片的複本(預設建立)。
var clonedSlide = presentation.Slides.AddClone(firstSlide);
// 將複製的投影片移至第一個位置(其他投影片往下移)。
presentation.Slides.Reorder(index: 0, clonedSlide);
}
移除投影片
若要移除投影片,只需參考該投影片並呼叫 Remove。此範例先新增第二張投影片,然後移除原始投影片,僅剩下新加入的那張。
static void RemoveSlide()
{
using var presentation = new Presentation();
// 新增一張空白投影片,除了預設的第一張投影片之外。
var blankLayout = presentation.LayoutSlides.GetByType(SlideLayoutType.Blank);
var secondSlide = presentation.Slides.AddEmptySlide(layout: blankLayout);
// 移除第一張投影片;僅保留新加入的投影片。
var firstSlide = presentation.Slides[0];
presentation.Slides.Remove(firstSlide);
}