Поиск и замена текста часто используются для обновления содержимого в презентациях PowerPoint. Однако, чтобы выполнить эту операцию для пакета презентаций, вам потребуется автоматизация. Соответственно, в этой статье рассказывается, как программно найти и заменить текст в PowerPoint PPTX/PPT с помощью C#.
C# API для поиска и замены текста в PowerPoint
Чтобы найти и заменить текст в презентациях PowerPoint, мы будем использовать Aspose.Slides for .NET. Это многофункциональный API, предназначенный для создания презентаций PowerPoint и управления ими из приложений .NET. Вы можете либо скачать API, либо установить его с помощью NuGet.
PM> Install-Package Aspose.Slides.NET
Найти и заменить текст в PowerPoint PPTX с помощью C#
Ниже приведены шаги по поиску и замене текста в презентации PPTX с помощью C#.
- Загрузите презентацию PowerPoint, используя класс Presentation.
- Прокрутите каждый слайд в презентации.
- На каждой итерации получайте текстовые фреймы в массиве ITextFrame.
- Прокрутите массив ITextFrame и на каждой итерации выполните следующие операции:
- Прокрутите ParagraphCollection в каждом текстовом фрейме.
- Получите доступ к PartionCollection в каждом Paragraph.
- Проверьте, содержит ли 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 для .NET без ограничений на пробную версию, запросив временную лицензию.
Вывод
Функция поиска и замены текста в презентациях PowerPoint используется в различных сценариях. Чтобы автоматизировать эту операцию, в статье рассказывалось, как программно находить и заменять текст в презентациях PowerPoint с помощью C#. Вы можете просто установить API в свое приложение и интегрировать предоставленный образец кода. Кроме того, вы можете посетить документацию, чтобы изучить другие функции Aspose.Slides для .NET. Кроме того, вы можете сообщить нам о своих вопросах через наш форум.