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. Кроме того, вы можете сообщать нам о своих запросах через наш форум.