如何使用 C# 管理 PowerPoint 簡報 | IronPPT

如何使用 C# 管理 PowerPoint 簡報

This article was translated from English: Does it need improvement?
Translated
View the article in English

若要使用 C# 管理 PowerPoint 中的投影片,請運用 IronPPT 的方法,例如 AddSlide() 來建立投影片、Remove() 來刪除投影片,以及 Slides 集合來透過程式碼重新排序或隱藏投影片。 IronPPT 文件提供了所有簡報管理操作的完整指南。

投影片是簡報中的單一頁面,作為組織與展示內容的基本構成單元。 簡報透過文字、圖片、圖表、表格、影片、音訊、動畫及其他設計元素,以視覺化方式傳達資訊。 在商業應用中,程式化簡報管理可實現報表生成、動態簡報,並自動化原本需手動編輯 PowerPoint 方能完成的重複性任務。

快速入門:使用 IronPPT 輕鬆移除、重新排序或隱藏投影片

以下是一行代碼的範例,展示如何在新增第一張投影片後將其移除。 IronPPT 讓管理投影片等常見操作變得簡單直觀,讓您能專注於內容而非工具操作。 在將 IronPPT 投入正式環境使用前,請務必設定授權金鑰,以避免出現浮水印。

  1. using NuGet 套件管理員安裝 https://www.nuget.org/packages/IronPPT

    PM > Install-Package IronPPT
  2. 請複製並執行此程式碼片段。

    new PresentationDocument().AddSlide().Slides[0].Remove();
  3. 部署至您的生產環境進行測試

    立即透過免費試用,在您的專案中開始使用 IronPPT

    arrow pointer

如何將投影片新增至 PowerPoint 簡報?

請使用 AddSlide 方法在簡報中新增投影片。 新增的投影片會附加在當前投影片清單的末端,讓簡報能無縫擴充。 此基礎操作可透過程式化方式建立簡報,無論是製作簡單的報告,還是複雜的多張投影片簡報皆可。 如需基本範例,請參閱建立空白簡報指南

簡報中新增的投影片位於何處?

using AddSlide() 時,新投影片會自動追加至投影片集合的末尾,並維持順序。 此預設行為可確保投影片位置的可預測性,並簡化簡報的建構流程。 零起始索引系統表示您的第一張投影片位於索引 0,第二張位於索引 1,以此類推。 在參考特定投影片進行修改或刪除時,理解此索引至關重要。

我可以一次新增多張投影片嗎?

透過串接多個 AddSlide() 呼叫,或使用迴圈,即可在單一操作中高效地新增多張投影片。 此方法在從資料庫或 API 等資料來源生成簡報時效果良好,尤其當簡報的投影片數量不固定時。 建議實作批次處理功能,以提升處理大量投影片時的效能。

:path=/static-assets/ppt/content-code-examples/how-to/manage-slide-add-slide.cs
// Ensure you have the necessary using directives for any external libraries or namespaces.
using IronPPT;

// Instantiate a new PresentationDocument object.
var document = new PresentationDocument();

// Add three slides to the presentation.
// The AddSlide method creates a new slide and adds it to the list of slides in the document.
document.AddSlide();  // Add first slide
document.AddSlide();  // Add second slide
document.AddSlide();  // Add third slide

// Save the presentation to a file named "addSlides.pptx".
// The Save method takes a file path as an argument and writes the current state of the presentation to this file.
document.Save("addSlides.pptx");
' Ensure you have the necessary using directives for any external libraries or namespaces.
Imports IronPPT

' Instantiate a new PresentationDocument object.
Private document = New PresentationDocument()

' Add three slides to the presentation.
' The AddSlide method creates a new slide and adds it to the list of slides in the document.
document.AddSlide() ' Add first slide
document.AddSlide() ' Add second slide
document.AddSlide() ' Add third slide

' Save the presentation to a file named "addSlides.pptx".
' The Save method takes a file path as an argument and writes the current state of the presentation to this file.
document.Save("addSlides.pptx")
$vbLabelText   $csharpLabel

如何從簡報中移除投影片?

請使用 Remove 方法刪除不需要的投影片。 此功能讓您能夠精簡內容並移除不必要的投影片,同時不影響整體結構。 在動態簡報生成中,若需依據業務規則或使用者偏好來條件性地包含或排除內容,移除投影片功能至關重要。 刪除程序將立即執行且無法透過程式方式撤銷,因此請在刪除前進行驗證。

請注意所有投影片索引位置均採用零起始編號。

移除後,投影片索引會如何?

當移除某張投影片時,後續所有投影片會自動向上移動,並重新計算其索引,以維持連續的順序。 在迴圈中移除多張投影片時,此自動重新索引功能至關重要。移除多張投影片時,請務必以逆向方式遍歷集合,以避免索引位移問題,此類問題可能導致投影片遺漏或發生超出範圍的例外狀況。 針對複雜的簡報修改,建議透過唯一識別碼來追蹤投影片,而非僅依賴索引位置。

如何安全地移除投影片而不產生錯誤?

在移除前請檢查 Slides 的計數,以避免發生索引超出範圍的錯誤,特別是在透過程式碼移除多個投影片時。 實施防禦性程式設計實務,包括邊界檢查與例外處理。 建議建立實用方法,將安全的移除邏輯與驗證及錯誤回報功能封裝其中。 在呈現結構多變的生產環境中,此種翻譯方式尤為重要。

:path=/static-assets/ppt/content-code-examples/how-to/manage-slide-remove-slide.cs
// Import the IronPPT namespace to handle PowerPoint presentations
// Assuming IronPPT is a fictional or placeholder library. Substitute with actual library as needed
using IronPPT;

// Create a new instance of the PresentationDocument class, assuming PresentationDocument 
// is a part of IronPPT that helps create or modify PowerPoint presentations
var document = new PresentationDocument();

// Add a new slide to the presentation, assuming the Add method adds a new slide to the collection
document.Slides.Add(new Slide());

// Check if there is at least one slide before attempting to remove
if (document.Slides.Count > 0)
{
    // Remove the first slide from the presentation's list of slides
    document.Slides.RemoveAt(0);
}

// Save the modified presentation to a file named "removeSlide.pptx"
// The Save method will write the current state of the presentation to the specified file
document.Save("removeSlide.pptx");
' Import the IronPPT namespace to handle PowerPoint presentations
' Assuming IronPPT is a fictional or placeholder library. Substitute with actual library as needed
Imports IronPPT

' Create a new instance of the PresentationDocument class, assuming PresentationDocument 
' is a part of IronPPT that helps create or modify PowerPoint presentations
Private document = New PresentationDocument()

' Add a new slide to the presentation, assuming the Add method adds a new slide to the collection
document.Slides.Add(New Slide())

' Check if there is at least one slide before attempting to remove
If document.Slides.Count > 0 Then
	' Remove the first slide from the presentation's list of slides
	document.Slides.RemoveAt(0)
End If

' Save the modified presentation to a file named "removeSlide.pptx"
' The Save method will write the current state of the presentation to the specified file
document.Save("removeSlide.pptx")
$vbLabelText   $csharpLabel

如何在 PowerPoint 中重新排列投影片順序?

請重新排列投影片順序,以更符合簡報的邏輯流程。 重新排列投影片既簡單又高效,讓您能輕鬆調整概念的順序,或配合新的需求進行調整。 此功能在根據範本生成簡報,或當最佳投影片順序取決於聽眾類型或簡報情境等動態因素時,尤為實用。 請查閱變更記錄,了解有關幻燈片重新排序功能的最新更新。

在不同位置之間移動投影片的最佳方法是什麼?

請將該投影片從其當前位置移除,並使用 Remove()Insert() 方法插入至目標索引位置。 此兩步驟流程可確保重新定位過程流暢,且不會重複投影片內容。 在實作複雜的重新排序邏輯時,請先建立一個臨時集合來規劃新順序,再套用變更。 此方法可將錯誤降至最低,並使邏輯重新排序更容易進行測試與除錯。

重新排序時,該如何驗證索引位置?

請確保目標索引位於有效範圍內(0Slides.Co/unt),以避免在重新排序投影片時發生執行時例外。 請進行全面的驗證,並考慮邊界情況,例如將投影片移動至其當前位置,或嘗試將最後一張投影片移動至超出集合範圍之外。 建議考慮建立延伸方法,提供具備內建驗證功能的安全重新排序機制,並附帶有助於除錯的具體錯誤訊息。

:path=/static-assets/ppt/content-code-examples/how-to/manage-slide-reorder-slide.cs
using IronPPT;

var document = new PresentationDocument();

// Adding a new slide to the document.
document.AddSlide();

// To reorder slides, we must remove the slide from its current position 
// and then insert it back at the desired position. 

// Capture the slide to be moved. 
// Assuming we want to move the first slide in this case.
var slideToMove = document.Slides[0];

// Remove the slide from its current position.
document.Slides.Remove(slideToMove);

// Add the slide back at the desired index (for example, index 1).
// Ensure the desired index is valid and within the range of the current slides.
if (document.Slides.Count >= 1) // Check if there is at least one slide to insert into.
{
    document.Slides.Insert(1, slideToMove);
}

// Save the presentation with the reordered slide.
// Ensure a valid file path and name are provided.
document.Save("reorderSlide.pptx");
Imports IronPPT

Private document = New PresentationDocument()

' Adding a new slide to the document.
document.AddSlide()

' To reorder slides, we must remove the slide from its current position 
' and then insert it back at the desired position. 

' Capture the slide to be moved. 
' Assuming we want to move the first slide in this case.
Dim slideToMove = document.Slides(0)

' Remove the slide from its current position.
document.Slides.Remove(slideToMove)

' Add the slide back at the desired index (for example, index 1).
' Ensure the desired index is valid and within the range of the current slides.
If document.Slides.Count >= 1 Then ' Check if there is at least one slide to insert into.
	document.Slides.Insert(1, slideToMove)
End If

' Save the presentation with the reordered slide.
' Ensure a valid file path and name are provided.
document.Save("reorderSlide.pptx")
$vbLabelText   $csharpLabel

如何在不刪除的情況下隱藏投影片?

隱藏特定投影片,同時保留它們在簡報中。 隱藏的投影片在簡報播放時不會顯示,但仍可進行編輯或供日後使用。 此功能會保留備份內容、講者備註或替代版簡報,以便根據簡報情境需求使用。 隱藏的投影片僅消耗極少資源,並為動態簡報提供靈活性。 如需支援進階投影片管理功能的授權方案,請參閱定價頁面。

為什麼要隱藏投影片而不是直接刪除它們?

隱藏投影片可保存備份內容、講者備註或替代版本,同時將其排除在主要簡報流程之外,以呈現更簡潔的簡報效果。 此方法在為不同受眾維護多個內容版本或保留歷史資訊時效果良好。 隱藏的投影片可作為範本或參考資料,由簡報者在問答環節中顯示。 建議導入投影片標籤系統,以有效分類與管理隱藏的投影片。

是否可以透過程式化方式存取隱藏的投影片?

是的,隱藏的投影片仍可透過程式碼完全存取,讓您隨時能顯示、修改或引用其內容。這種程式化存取功能可實現複雜的簡報工作流程,讓投影片能根據執行時條件動態顯示或隱藏。 實作投影片可見性管理系統,可依據使用者角色、簡報模式或外部資料來源來切換可見性。 若Enterprise應用程式需要進階授權功能,請探索授權擴充套件升級選項

:path=/static-assets/ppt/content-code-examples/how-to/manage-slide-hide-slide.cs
using IronPPT;

// Create a new presentation document
var document = new PresentationDocument();

// Add a new slide to the presentation
document.AddSlide();

// Hide the first slide by setting its visibility to false
document.Slides[0].Visible = false;

// Save the presentation to a file named 'hideSlide.pptx'
document.Save("hideSlide.pptx");
Imports IronPPT

' Create a new presentation document
Private document = New PresentationDocument()

' Add a new slide to the presentation
document.AddSlide()

' Hide the first slide by setting its visibility to false
document.Slides(0).Visible = False

' Save the presentation to a file named 'hideSlide.pptx'
document.Save("hideSlide.pptx")
$vbLabelText   $csharpLabel

常見問題

如何使用 C# 透過程式碼將投影片新增至 PowerPoint 簡報中?

您可以使用 IronPPT 的 AddSlide() 方法新增投影片。新投影片會自動附加至簡報的末尾。若需新增多張投影片,只需串接 AddSlide() 呼叫,或使用迴圈進行高效的批次操作。

我可以從 PowerPoint 簡報中移除特定的投影片嗎?

是的,IronPPT 允許您透過 Remove() 方法移除投影片。只需透過 Slides 集合,使用其索引存取該投影片(例如:Slides[0].Remove() 即可移除第一張投影片)。

如何使用 C# 重新排列 PowerPoint 簡報中的投影片順序?

IronPPT 提供對 Slides 集合的存取權限,讓您能夠透過程式碼重新排列投影片順序。您可以利用該集合的索引系統來調整投影片位置,其中投影片採用零起始索引(第一張投影片的索引為 0)。

是否可以在不刪除的情況下隱藏投影片?

是的,IronPPT 支援透過程式碼隱藏投影片。當您希望暫時將投影片從簡報中排除,但又不希望永久刪除檔案中的投影片時,此功能便十分實用。

程式化簡報管理的實際應用有哪些?

IronPPT 能實現報表自動生成、從資料來源建立動態簡報,並消除重複的手動 PowerPoint 編輯工作。這對於需要自動生成簡報的商業應用而言,尤其具有價值。

使用簡報管理功能是否需要授權?

雖然 IronPPT 的簡報管理功能已完全可用,但您仍需設定授權金鑰以供正式使用,避免生成的簡報出現浮水印。

Curtis Chau
技術撰稿人

Curtis Chau 擁有卡爾頓大學(Carleton University)的電腦科學學士學位,專精於前端開發,並精通 Node.js、TypeScript、JavaScript 及 React。他熱衷於打造直觀且美觀的用戶介面,喜歡運用現代框架,並創建結構完善、視覺上吸引人的手冊。

除了開發工作之外,Curtis 對物聯網(IoT)抱有濃厚興趣,致力於探索整合硬體與軟體的創新方法。閒暇時,他喜歡玩遊戲和開發 Discord 機器人,將對科技的熱愛與創意相結合。

準備開始了嗎?
Nuget 下載 5,142 | 版本: 2026.5 just released
Still Scrolling Icon

還在往下捲動嗎?

想要快速確認成果嗎? PM > Install-Package IronPPT
執行範例 觀看您的 PDF 轉為可編輯文字。