在 Java 中從簡報中移除投影片

Introduction

如果投影片(或其內容)變得多餘,您可以將其刪除。Aspose.Slides 提供了 Presentation 類別,封裝了 ISlideCollection,它是演示文稿中所有投影片的儲存庫。使用已知的 ISlide 物件的指標(參照或索引),您可以指定要移除的投影片。

Remove a Slide by Reference

  1. 建立一個 Presentation 類別的實例。
  2. 透過投影片的 ID 或索引取得要移除的投影片參照。
  3. 從演示文稿中移除該參照的投影片。
  4. 儲存已修改的演示文稿。

以下 Java 程式碼示範如何透過參照移除投影片:

// 建立一個代表簡報檔案的 Presentation 物件
Presentation pres = new Presentation("demo.pptx");
try {
    // 透過投影片集合中的索引存取投影片
    ISlide slide = pres.getSlides().get_Item(0);
    
    // 透過參照移除投影片
    pres.getSlides().remove(slide);
    
    // 儲存已修改的簡報
    pres.save("modified.pptx", SaveFormat.Pptx);
} finally {
    pres.dispose();
}

Remove a Slide by Index

  1. 建立一個 Presentation 類別的實例。
  2. 透過索引位置從演示文稿中移除投影片。
  3. 儲存已修改的演示文稿。

以下 Java 程式碼示範如何透過索引移除投影片:

// 建立一個代表簡報檔案的 Presentation 物件
Presentation pres = new Presentation("demo.pptx");
try {
    // 透過投影片索引移除投影片
    pres.getSlides().removeAt(0);
    
    // 儲存已修改的簡報
    pres.save("modified.pptx", SaveFormat.Pptx);
} finally {
    pres.dispose();
}

Remove Unused Layout Slides

Aspose.Slides 提供了 removeUnusedLayoutSlides 方法(來自 Compress 類別),讓您刪除不需要且未使用的版面配置投影片。以下 Java 程式碼示範如何從 PowerPoint 演示文稿中移除版面配置投影片:

Presentation pres = new Presentation("pres.pptx");
try {
    Compress.removeUnusedLayoutSlides(pres);

    pres.save("pres-out.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Remove Unused Master Slides

Aspose.Slides 提供了 removeUnusedMasterSlides 方法(來自 Compress 類別),讓您刪除不需要且未使用的母版投影片。以下 Java 程式碼示範如何從 PowerPoint 演示文稿中移除母版投影片:

Presentation pres = new Presentation("pres.pptx");
 try {
     Compress.removeUnusedMasterSlides(pres);

     pres.save("pres-out.pptx", SaveFormat.Pptx);
 } finally {
     if (pres != null) pres.dispose();
 }

FAQ

刪除投影片後,投影片索引會發生什麼變化?

刪除後,collection 會重新編排索引:每個後續投影片向左移動一個位置,因此先前的索引號碼將不再正確。若需要穩定的參照,請使用每張投影片的持久 ID,而非其索引。

投影片的 ID 與索引不同嗎?當相鄰投影片被刪除時,ID 會改變嗎?

是的。索引是投影片在文件中的位置,當新增或刪除投影片時會變動。投影片 ID 為持久識別碼,其他投影片被刪除時不會改變。

刪除投影片會如何影響投影片分節?

如果該投影片屬於某個分節,該分節的投影片數量會減少一張。分節結構仍然保留;若分節變成空的,您可以依需求 移除或重新組織分節

刪除投影片時,附屬的備註與評論會發生什麼情況?

Notescomments 皆與該投影片綁定,會隨之一併移除。其他投影片的內容不受影響。

刪除投影片與清理未使用的版面配置/母版有何不同?

刪除是從投影片集合中移除特定的普通投影片。清理未使用的版面配置/母版則是移除沒有任何參照的版面配置或母版投影片,可減少檔案大小且不會改變剩餘投影片的內容。這兩者是互補的:通常先刪除,再進行清理。