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 for Java. Крім того, ви можете повідомити нам про свої запити через наш форум.

Дивись також