MS PowerPoint tillhandahåller en användbar funktion för att hitta och ersätta text i presentationerna. Du kan dock behöva automatiseras för att utföra den här operationen för en grupp filer. Följaktligen kommer du i den här artikeln att lära dig hur du hittar och ersätter text i PowerPoint PPTX/PPT programmatiskt med Java.
Java API för att hitta och ersätta text i PowerPoint
För att hitta och ersätta text i PPTX/PPT-presentationer använder vi Aspose.Slides for Java. Det är ett kraftfullt API för att skapa, manipulera och konvertera PowerPoint-presentationer från dina Java-applikationer. Du kan antingen ladda ner API:et eller installera det med följande Maven-konfigurationer.
<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>
Hitta och ersätt text i PowerPoint PPTX med Java
Följande är stegen för att hitta och ersätta text i en PPTX-presentation med Java.
- Ladda först PowerPoint-presentationen med klassen Presentation.
- Gå sedan igenom varje ISlide i presentationen.
- I varje iteration, få textramar i en ITextFrame array.
- Utför följande åtgärder för varje ITextFrame:
- Gå igenom IParagraphCollection i varje textram.
- Gå till IPortionCollection i varje IParagraph.
- Få åtkomst till texten för varje IPortion med metoden IPortion.getText() och kontrollera om den innehåller söksträngen.
- Om ja, hitta positionen för söksträngen och ersätt den med metoden IPortion.setText().
- Slutligen, spara den uppdaterade presentationen med metoden Presentation.save(string, SaveFormat).
Följande kodexempel visar hur du hittar och ersätter text i en PowerPoint-presentation.
// Ladda presentationen
Presentation pres = new Presentation("mytextone.pptx");
String strToFind = "search string";
String strToReplaceWith = "replace string";
// Gå igenom varje bild
for (ISlide slide : pres.getSlides()) {
// Få alla textramar i bilden
ITextFrame[] tf = SlideUtil.getAllTextBoxes(slide);
for (int i = 0; i < tf.length; i++)
for (IParagraph para : tf[i].getParagraphs())
for (IPortion port : para.getPortions())
// Hitta text som ska ersättas
if (port.getText().contains(strToFind)) {
// Ersätt befintlig text med den nya texten
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);
}
}
// Spara presentationen
pres.save("myTextOneAspose.pptx", SaveFormat.Pptx);
Skaffa en gratis API-licens
Du kan använda Aspose.Slides för Java utan utvärderingsbegränsningar genom att begära en tillfällig licens.
Slutsats
I den här artikeln har du lärt dig hur du hittar och ersätter text i PowerPoint-presentationer programmatiskt med Java. Du kan helt enkelt integrera API:t och det medföljande kodexemplet i dina Java-applikationer. Dessutom kan du besöka dokumentationen för att utforska andra funktioner i Aspose.Slides för Java. Dessutom kan du meddela oss om dina frågor via vårt forum.