MS PowerPoint poskytuje užitečnou funkci pro vyhledávání a nahrazování textu v prezentacích. K provedení této operace pro dávku souborů však možná budete potřebovat automatizaci. V tomto článku se tedy dozvíte, jak najít a nahradit text v PowerPoint PPTX/PPT programově pomocí Java.
Java API pro vyhledání a nahrazení textu v PowerPointu
Abychom našli a nahradili text v prezentacích PPTX/PPT, použijeme Aspose.Slides for Java. Jedná se o výkonné API pro vytváření, manipulaci a převod prezentací PowerPoint z vašich aplikací Java. Rozhraní API si můžete buď stáhnout, nebo jej nainstalovat pomocí následujících konfigurací 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>
Najít a nahradit text v PowerPoint PPTX pomocí Java
Následují kroky k vyhledání a nahrazení textu v prezentaci PPTX pomocí Java.
- Nejprve načtěte prezentaci v PowerPointu pomocí třídy Presentation.
- Potom procházejte každý ISlide v prezentaci.
- V každé iteraci získáte textové rámečky v poli ITextFrame.
- Pro každý ITextFrame proveďte následující operace:
- Procházejte IParagraphCollection v každém textovém rámečku.
- Přístup ke IPortionCollection v každém IParagraph.
- Otevřete text každého IPortion pomocí metody IPortion.getText() a zkontrolujte, zda obsahuje hledaný řetězec.
- Pokud ano, najděte pozici hledaného řetězce a nahraďte jej pomocí metody IPortion.setText().
- Nakonec aktualizovanou prezentaci uložte pomocí metody Presentation.save(string, SaveFormat).
Následující ukázka kódu ukazuje, jak najít a nahradit text v prezentaci PowerPoint.
// Načíst prezentaci
Presentation pres = new Presentation("mytextone.pptx");
String strToFind = "search string";
String strToReplaceWith = "replace string";
// Projděte každý snímek
for (ISlide slide : pres.getSlides()) {
// Získejte všechny textové rámečky na snímku
ITextFrame[] tf = SlideUtil.getAllTextBoxes(slide);
for (int i = 0; i < tf.length; i++)
for (IParagraph para : tf[i].getParagraphs())
for (IPortion port : para.getPortions())
// Najděte text, který má být nahrazen
if (port.getText().contains(strToFind)) {
// Nahraďte stávající text novým textem
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);
}
}
// Uložte prezentaci
pres.save("myTextOneAspose.pptx", SaveFormat.Pptx);
Získejte bezplatnou licenci API
Aspose.Slides pro Javu můžete používat bez omezení hodnocení, když si vyžádáte dočasnou licenci.
Závěr
V tomto článku jste se naučili vyhledávat a nahrazovat text v prezentacích PowerPoint programově pomocí Java. Rozhraní API a poskytnutý ukázkový kód můžete jednoduše integrovat do svých aplikací Java. Kromě toho můžete navštívit dokumentaci a prozkoumat další funkce Aspose.Slides for Java. Kromě toho nám můžete dát vědět o svých dotazech prostřednictvím našeho fóra.