Encontrar e substituir texto é frequentemente usado para atualizar o conteúdo em apresentações do PowerPoint. No entanto, para realizar esta operação para um lote de apresentações, você precisa de automação. Assim, este artigo aborda como localizar e substituir texto no PowerPoint PPTX/PPT programaticamente usando C#.
API C# para localizar e substituir texto no PowerPoint
Para localizar e substituir texto em apresentações do PowerPoint, usaremos Aspose.Slides for .NET. É uma API rica em recursos projetada para criar e manipular apresentações do PowerPoint a partir de aplicativos .NET. Você pode baixar a API ou instalá-la usando NuGet.
PM> Install-Package Aspose.Slides.NET
Localizar e substituir texto no PowerPoint PPTX usando C#
A seguir estão as etapas para localizar e substituir texto em uma apresentação PPTX usando C#.
- Carregue a apresentação do PowerPoint usando a classe Apresentação.
- Percorra cada Slide na apresentação.
- Em cada iteração, obtenha quadros de texto em uma matriz ITextFrame.
- Faça um loop pelo array de ITextFrame e em cada iteração, execute as seguintes operações:
- Percorra o ParagraphCollection em cada quadro de texto.
- Acesse a PortionCollection em cada Paragraph.
- Verifique se Portion.Text contém a string de pesquisa.
- Se sim, encontre a posição da string de pesquisa e substitua-a definindo a propriedade Portion.Text.
- 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
foreach (Slide slide in pres.Slides)
{
// Obter todos os quadros de texto no slide
ITextFrame[] tf = SlideUtil.GetAllTextBoxes(slide);
for (int i = 0; i < tf.Length; i++)
foreach (Paragraph para in tf[i].Paragraphs)
foreach (Portion port in para.Portions)
// Localizar texto a ser substituído
if (port.Text.Contains(strToFind))
{
// Substitua o texto existente pelo novo texto
string str = port.Text;
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.Text = 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 para .NET sem limitações de avaliação solicitando uma licença temporária.
Conclusão
O recurso de localizar e substituir texto em apresentações do PowerPoint é usado em vários cenários. Para automatizar essa operação, o artigo abordou como localizar e substituir texto em apresentações do PowerPoint programaticamente usando C#. Você pode simplesmente instalar a API em seu aplicativo e integrar a amostra de código fornecida. Além disso, você pode visitar a documentação para explorar outros recursos do Aspose.Slides para .NET. Além disso, sinta-se à vontade para nos informar sobre suas dúvidas por meio do nosso fórum.