Java найти и заменить текст в PowerPoint

MS PowerPoint предоставляет полезную функцию поиска и замены текста в презентациях. Однако вам может потребоваться автоматизация для выполнения этой операции для пакета файлов. Соответственно, в этой статье вы узнаете, как программно находить и заменять текст в PowerPoint PPTX/PPT с помощью Java.

Java API для поиска и замены текста в PowerPoint

Чтобы найти и заменить текст в презентациях PPTX/PPT, мы будем использовать Aspose.Slides for Java. Это мощный API для создания, управления и преобразования презентаций PowerPoint из ваших приложений Java. Вы можете либо скачать API, либо установить его, используя следующие конфигурации Maven.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-slides</artifactId>
    <version>21.7</version>
    <classifier>jdk16</classifier>
</dependency>

Найти и заменить текст в PowerPoint PPTX с помощью Java

Ниже приведены шаги по поиску и замене текста в презентации PPTX с использованием Java.

  • Сначала загрузите презентацию PowerPoint, используя класс Presentation.
  • Затем просмотрите все ISlide в презентации.
  • На каждой итерации получайте текстовые фреймы в массиве ITextFrame.
  • Для каждого ITextFrame выполните следующие операции:
    • Прокрутите IParagraphCollection в каждом текстовом фрейме.
    • Получите доступ к IPortionCollection в каждом IParagraph.
    • Получите доступ к тексту каждого IPortion с помощью метода IPortion.getText() и проверьте, содержит ли он строку поиска.
    • Если да, найдите позицию строки поиска и замените ее с помощью метода IPortion.setText().
  • Наконец, сохраните обновленную презентацию, используя метод Presentation.save(string, SaveFormat).

В следующем примере кода показано, как найти и заменить текст в презентации PowerPoint.

// Загрузить презентацию
Presentation pres = new Presentation("mytextone.pptx");

String strToFind = "search string";
String strToReplaceWith = "replace string";

// Пролистайте каждый слайд
for (ISlide slide : pres.getSlides()) {
	// Получить все текстовые фреймы на слайде
	ITextFrame[] tf = SlideUtil.getAllTextBoxes(slide);

	for (int i = 0; i < tf.length; i++)

		for (IParagraph para : tf[i].getParagraphs())

			for (IPortion port : para.getPortions())

				// Найдите текст, который нужно заменить
				if (port.getText().contains(strToFind)) {
					// Заменить существующий текст новым текстом
					String str = port.getText();
					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.setText(strStartText + strToReplaceWith + strEndText);

				}
}

// Сохранить презентацию
pres.save("myTextOneAspose.pptx", SaveFormat.Pptx);

Получите бесплатную лицензию API

Вы можете использовать Aspose.Slides for Java без ограничений на пробную версию, запросив временную лицензию.

Вывод

В этой статье вы узнали, как программно находить и заменять текст в презентациях PowerPoint с помощью Java. Вы можете просто интегрировать API и предоставленный образец кода в свои Java-приложения. Кроме того, вы можете посетить документацию, чтобы изучить другие функции Aspose.Slides для Java. Кроме того, вы можете сообщать нам о своих запросах через наш форум.

Смотрите также