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

簡介

如果投影片(或其內容)變得多餘,您可以將其刪除。Aspose.Slides 提供的 Presentation 類別封裝了 SlideCollection,用於儲存簡報中所有投影片的集合。使用已知的 Slide 物件的參考或索引,您可以指定要移除的投影片。

透過參考移除投影片

  1. 建立 Presentation 類別的實例。
  2. 透過其 ID 或索引取得要移除的投影片參考。
  3. 從簡報中移除該參考的投影片。
  4. 儲存已修改的簡報。

此 Python 程式碼示範如何透過參考移除投影片:

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import Presentation, SaveFormat

# 建立一個代表簡報檔案的 Presentation 物件。
presentation = Presentation("demo.pptx")
try:
    # 透過投影片集合中的索引存取投影片。
    slide = presentation.getSlides().get_Item(0)

    # 透過參考移除投影片。
    presentation.getSlides().remove(slide)

    # 儲存已修改的簡報。
    presentation.save("modified.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

透過索引移除投影片

  1. 建立 Presentation 類別的實例。
  2. 透過索引位置從簡報中移除投影片。
  3. 儲存已修改的簡報。

此 Python 程式碼示範如何透過索引移除投影片:

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import Presentation, SaveFormat

# 建立一個代表簡報檔案的 Presentation 物件。
presentation = Presentation("demo.pptx")
try:
    # 透過索引移除投影片。
    presentation.getSlides().removeAt(0)

    # 儲存已修改的簡報。
    presentation.save("modified.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

移除未使用的版面配置投影片

Aspose.Slides 提供的 removeUnusedLayoutSlides 方法(來自 Compress 類別)可讓您刪除不需要且未使用的版面配置投影片。此 Python 程式碼示範如何從 PowerPoint 簡報中移除版面配置投影片:

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import Compress, Presentation, SaveFormat

presentation = Presentation("pres.pptx")
try:
    Compress.removeUnusedLayoutSlides(presentation)

    presentation.save("pres-out.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

移除未使用的母片投影片

Aspose.Slides 提供的 removeUnusedMasterSlides 方法(來自 Compress 類別)可讓您刪除不需要且未使用的母片投影片。此 Python 程式碼示範如何從 PowerPoint 簡報中移除母片投影片:

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import Compress, Presentation, SaveFormat

presentation = Presentation("pres.pptx")
try:
    Compress.removeUnusedMasterSlides(presentation)

    presentation.save("pres-out.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

常見問題

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

刪除後,collection 重新索引:每個其後的投影片向左移動一個位置,先前的索引號碼變得過時。如果需要穩定的參考,請使用每張投影片的持久 ID,而非其索引。

投影片的 ID 是否不同於其索引,且在刪除相鄰投影片時會改變嗎?

是的。索引是投影片的位置,當投影片被新增或移除時會改變。投影片 ID 是永久性識別碼,當其他投影片被刪除時不會改變。

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

如果投影片屬於某個分段,該分段只會少一張投影片。分段結構保持不變;如果分段變為空的,您可以remove or reorganize sections

刪除投影片時,附屬於該投影片的備註與評論會怎樣?

Notescomments 皆綁定於該投影片,會隨之一起被刪除。其他投影片的內容不受影響。

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

刪除會從簡報中移除特定的普通投影片。清理未使用的版面配置/母片則是移除沒有任何投影片參考的版面配置或母片,能減少檔案大小,而不會改變剩餘投影片的內容。這兩個動作是互補的:通常先刪除,再清理。