組合投影片
Contents
[
Hide
]
將投影片新增至簡報
在討論如何將投影片新增至簡報檔案之前,先來了解一些關於投影片的事實。每個 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);
}
}