MS PowerPoint proporciona una característica útil para buscar y reemplazar texto en las presentaciones. Sin embargo, es posible que necesite automatización para realizar esta operación para un lote de archivos. En consecuencia, en este artículo, aprenderá cómo buscar y reemplazar texto en PowerPoint PPTX/PPT mediante programación usando Java.
API de Java para buscar y reemplazar texto en PowerPoint
Para buscar y reemplazar texto en presentaciones PPTX/PPT, usaremos Aspose.Slides for Java. Es una potente API para crear, manipular y convertir presentaciones de PowerPoint desde sus aplicaciones Java. Puede descargar la API o instalarla usando las siguientes configuraciones de 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>
Buscar y reemplazar texto en PowerPoint PPTX usando Java
Los siguientes son los pasos para buscar y reemplazar texto en una presentación PPTX usando Java.
- Primero, cargue la presentación de PowerPoint usando la clase Presentation.
- Luego, recorra cada ISlide en la presentación.
- En cada iteración, obtenga marcos de texto en una matriz ITextFrame.
- Para cada ITextFrame, realice las siguientes operaciones:
- Recorra IParagraphCollection en cada cuadro de texto.
- Acceda a la IPortionCollection en cada IParagraph.
- Acceda al texto de cada IPorción utilizando el método IPorción.getText() y verifique si contiene la cadena de búsqueda.
- En caso afirmativo, encuentre la posición de la cadena de búsqueda y reemplácela usando el método IPortion.setText().
- Finalmente, guarde la presentación actualizada usando el método Presentation.save(string, SaveFormat).
El siguiente ejemplo de código muestra cómo buscar y reemplazar texto en una presentación de PowerPoint.
// Cargar presentación
Presentation pres = new Presentation("mytextone.pptx");
String strToFind = "search string";
String strToReplaceWith = "replace string";
// Recorrer cada diapositiva
for (ISlide slide : pres.getSlides()) {
// Obtener todos los marcos de texto en la diapositiva
ITextFrame[] tf = SlideUtil.getAllTextBoxes(slide);
for (int i = 0; i < tf.length; i++)
for (IParagraph para : tf[i].getParagraphs())
for (IPortion port : para.getPortions())
// Buscar texto para ser reemplazado
if (port.getText().contains(strToFind)) {
// Reemplazar el texto existente con el nuevo texto
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);
}
}
// Guardar la presentación
pres.save("myTextOneAspose.pptx", SaveFormat.Pptx);
Obtenga una licencia de API gratuita
Puede usar Aspose.Slides for Java sin limitaciones de evaluación solicitando una licencia temporal.
Conclusión
En este artículo, aprendió cómo buscar y reemplazar texto en presentaciones de PowerPoint mediante programación usando Java. Simplemente puede integrar la API y el ejemplo de código proporcionado en sus aplicaciones Java. Además, puede visitar la documentación para explorar otras características de Aspose.Slides for Java. Además, puede informarnos sobre sus consultas a través de nuestro foro.