查找和替换文本通常用于更新 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 演示文稿。
- 循环播放演示文稿中的每个 Slide。
- 在每次迭代中,获取 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 的其他功能。此外,您可以随时通过我们的 论坛 告诉我们您的疑问。