查找和替換文本通常用於更新 PowerPoint 演示文稿中的內容。但是,為了對一批演示文稿執行此操作,您需要自動化。因此,本文介紹瞭如何使用 C# 以編程方式在 PowerPoint PPTX/PPT 中查找和替換文本。
用於在 PowerPoint 中查找和替換文本的 C# API
為了在 PowerPoint 演示文稿中查找和替換文本,我們將使用 Aspose.Slides for .NET。它是一個功能豐富的 API,旨在從 .NET 應用程序中創建和操作 PowerPoint 演示文稿。您可以 下載 API 或使用 NuGet 安裝它。
PM> Install-Package Aspose.Slides.NET
使用 C# 在 PowerPoint PPTX 中查找和替換文本
以下是使用 C# 在 PPTX 演示文稿中查找和替換文本的步驟。
- 使用 Presentation 類加載 PowerPoint 演示文稿。
- 循環瀏覽演示文稿中的每個 幻燈片。
- 在每次迭代中,獲取 ITextFrame 數組中的文本框。
- 遍歷 ITextFrame 數組並在每次迭代中執行以下操作:
- 在每個文本框架中循環遍歷 ParagraphCollection。
- 訪問每個 Paragraph 中的 PortionCollection。
- 檢查 Portion.Text 是否包含搜索字符串。
- 如果是,找到搜索字符串的位置並通過設置 Portion.Text 屬性替換它。
- 使用 Presentation.Save(string, SaveFormat) 方法保存更新的演示文稿。
以下代碼示例演示如何查找和替換 PowerPoint 演示文稿中的文本。
// 負載演示
Presentation pres = new Presentation("mytextone.pptx");
string strToFind = "search string";
string strToReplaceWith = "replace string";
// 遍歷每張幻燈片
foreach (Slide slide in pres.Slides)
{
// 獲取幻燈片中的所有文本框
ITextFrame[] tf = SlideUtil.GetAllTextBoxes(slide);
for (int i = 0; i < tf.Length; i++)
foreach (Paragraph para in tf[i].Paragraphs)
foreach (Portion port in para.Portions)
// 查找要替換的文本
if (port.Text.Contains(strToFind))
{
// 用新文本替換現有文本
string str = port.Text;
int idx = str.IndexOf(strToFind);
string strStartText = str.Substring(0, idx);
string strEndText = str.Substring(idx + strToFind.Length, str.Length - 1 - (idx + strToFind.Length - 1));
port.Text = strStartText + strToReplaceWith + strEndText;
}
}
// 保存演示文稿
pres.Save("myTextOneAspose.pptx", SaveFormat.Pptx);
獲取免費的 API 許可證
通過申請臨時許可,您可以在沒有評估限制的情況下使用 Aspose.Slides for .NET。
結論
PowerPoint 演示文稿中查找和替換文本的功能用於各種場景。為了自動執行此操作,本文介紹瞭如何使用 C# 以編程方式查找和替換 PowerPoint 演示文稿中的文本。您只需在您的應用程序中安裝 API 並集成提供的代碼示例。此外,您可以訪問 文檔 來探索 Aspose.Slides for .NET 的其他功能。此外,您可以隨時通過我們的 論壇 告訴我們您的疑問。