在 C++ 中從簡報中移除投影片
簡介
如果投影片(或其內容)變得多餘,您可以將其刪除。Aspose.Slides 提供了 Presentation 類別,封裝了 ISlideCollection,該集合是演示文稿中所有投影片的儲存庫。使用已知的 ISlide 物件的指標(參照或索引),即可指定要移除的投影片。
依參照刪除投影片
- 建立 Presentation 類別的執行個體。
- 透過投影片的 ID 或索引取得要移除的投影片參照。
- 從演示文稿中移除該參照的投影片。
- 儲存已修改的演示文稿。
以下 C++ 程式碼示範如何依參照移除投影片:
// 文件目錄的路徑
const String templatePath = L"../templates/AddSlides.pptx";
const String outPath = L"../out/RemoveSlidesByReference.pptx";
// 實例化一個代表簡報檔案的 Presentation 物件
SharedPtr<Presentation> pres = MakeObject<Presentation>(templatePath);
// 透過投影片集合中的索引存取投影片
SharedPtr<ISlide> slide = pres->get_Slides()->idx_get(0);
// 透過參照移除投影片
pres->get_Slides()->Remove(slide);
// 儲存已修改的簡報
pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx);
依索引刪除投影片
- 建立 Presentation 類別的執行個體。
- 透過索引位置從演示文稿中移除投影片。
- 儲存已修改的演示文稿。
以下 C++ 程式碼示範如何依索引移除投影片:
// 文件目錄的路徑
const String templatePath = L"../templates/AddSlides.pptx";
const String outPath = L"../out/RemoveSlidesByID.pptx";
// 實例化一個代表簡報檔案的 Presentation 物件
SharedPtr<Presentation> pres = MakeObject<Presentation>(templatePath);
// 透過投影片索引移除投影片
pres->get_Slides()->RemoveAt(0);
// 儲存已修改的簡報
pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx);
移除未使用的版面配置投影片
Aspose.Slides 提供了 RemoveUnusedLayoutSlides() 方法(位於 Compress 類別),讓您刪除不需要且未使用的版面配置投影片。以下 C++ 程式碼示範如何從 PowerPoint 演示文稿中移除版面配置投影片:
auto pres = System::MakeObject<Presentation>(u"pres.pptx");
LowCode::Compress::RemoveUnusedLayoutSlides(pres);
pres->Save(u"pres-out.pptx", SaveFormat::Pptx);
移除未使用的母片投影片
Aspose.Slides 提供了 RemoveUnusedMasterSlides() 方法(位於 Compress 類別),讓您刪除不需要且未使用的母片投影片。以下 C++ 程式碼示範如何從 PowerPoint 演示文稿中移除母片投影片:
auto pres = System::MakeObject<Presentation>(u"pres.pptx");
LowCode::Compress::RemoveUnusedMasterSlides(pres);
pres->Save(u"pres-out.pptx", SaveFormat::Pptx);
常見問題
刪除投影片後,投影片索引會發生什麼變化?
刪除後,集合會重新編排索引:之後的每張投影片都向左移動一個位置,因此先前的索引號碼會變得不正確。若需要穩定的參照,請使用每張投影片的永久 ID,而非其索引。
投影片的 ID 是否不同於索引,且在相鄰投影片被刪除時會變更嗎?
是。索引代表投影片的位置,會在新增或刪除投影片時改變。投影片 ID 為永久識別碼,刪除其他投影片時不會變更。
刪除投影片會如何影響投影片分節?
若該投影片屬於某個分節,該分節只會少一張投影片。分節結構保持不變;如果分節變成空的,您可以依需求移除或重新排列分節。
當投影片被刪除時,附加於其上的備註與評論會發生什麼事?
備註和評論與該投影片綁定,會在投影片被刪除時一併移除。其他投影片的內容不受影響。
刪除投影片與清理未使用的版面配置/母片有何不同?
刪除會將特定的普通投影片從簡報中移除。清理未使用的版面配置/母片則會刪除沒有任何投影片參照的版面配置或母片,減少檔案大小且不會改變其餘投影片的內容。這兩個動作是互補的:通常先刪除,再進行清理。