O MS PowerPoint fornece um recurso útil para localizar e substituir texto nas apresentações. No entanto, você pode precisar de automação para executar essa operação para um lote de arquivos. Assim, neste artigo, você aprenderá como localizar e substituir texto no PowerPoint PPTX/PPT programaticamente usando Java.
API Java para localizar e substituir texto no PowerPoint
Para localizar e substituir texto em apresentações PPTX/PPT, usaremos Aspose.Slides for Java. É uma API poderosa para criar, manipular e converter apresentações do PowerPoint a partir de seus aplicativos Java. Você pode baixar a API ou instalá-la usando as seguintes configurações do 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>
Localizar e substituir texto no PowerPoint PPTX usando Java
A seguir estão as etapas para localizar e substituir texto em uma apresentação PPTX usando Java.
- Primeiro, carregue a apresentação do PowerPoint usando a classe Apresentação.
- Em seguida, percorra cada ISlide na apresentação.
- Em cada iteração, obtenha quadros de texto em uma matriz ITextFrame.
- Para cada ITextFrame, execute as seguintes operações:
- Percorra o IPagraphCollection em cada quadro de texto.
- Acesse o IPortionCollection em cada IPagraph.
- Acesse o texto de cada IPortion usando o método IPortion.getText() e verifique se ele contém a string de pesquisa.
- Se sim, encontre a posição da string de pesquisa e substitua-a usando o método IPortion.setText().
- Finalmente, salve a apresentação atualizada usando o método Presentation.save(string, SaveFormat).
O exemplo de código a seguir mostra como localizar e substituir texto em uma apresentação do PowerPoint.
// Carregar apresentação
Presentation pres = new Presentation("mytextone.pptx");
String strToFind = "search string";
String strToReplaceWith = "replace string";
// Faça um loop em cada slide
for (ISlide slide : pres.getSlides()) {
// Obter todos os quadros de texto no slide
ITextFrame[] tf = SlideUtil.getAllTextBoxes(slide);
for (int i = 0; i < tf.length; i++)
for (IParagraph para : tf[i].getParagraphs())
for (IPortion port : para.getPortions())
// Localizar texto a ser substituído
if (port.getText().contains(strToFind)) {
// Substitua o texto existente pelo novo 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);
}
}
// Salve a apresentação
pres.save("myTextOneAspose.pptx", SaveFormat.Pptx);
Obtenha uma licença de API gratuita
Você pode usar o Aspose.Slides for Java sem limitações de avaliação solicitando uma licença temporária.
Conclusão
Neste artigo, você aprendeu como localizar e substituir texto em apresentações do PowerPoint programaticamente usando Java. Você pode simplesmente integrar a API e a amostra de código fornecida em seus aplicativos Java. Além disso, você pode visitar a documentação para explorar outros recursos do Aspose.Slides for Java. Além disso, você pode nos informar sobre suas dúvidas por meio do nosso fórum.