Localizar e substituir texto no PowerPoint PPT em Python

Ao processar documentos digitais, muitas vezes você precisa localizar e substituir um texto específico no conteúdo. Isso pode ser necessário quando uma informação deve ser censurada antes de compartilhar os documentos. Para fazer isso programaticamente, este artigo aborda como localizar e substituir texto no PowerPoint PPT ou PPTX em Python.

Biblioteca Python para localizar e substituir texto no PowerPoint PPT

Aspose.Slides for Python via .NET é uma biblioteca incrível que simplifica a manipulação de apresentações do PowerPoint a partir de aplicativos Python. Além disso, você pode criar apresentações ricas do zero sem problemas. Usaremos esta biblioteca para localizar e substituir texto em arquivos PPT/PPTX. Você pode usar o seguinte comando pip para instalar a biblioteca de PyPI.

> pip install aspose.slides

Localizar e substituir texto no PowerPoint PPT usando Python

Para substituir um determinado texto na apresentação, você terá que percorrer o conteúdo de todos os slides, o que é bastante fácil usando o Aspose.Slides. A seguir estão as etapas para localizar e substituir texto em uma apresentação PPTX em Python.

  • Primeiro, carregue o PowerPoint PPT/PPTX usando a classe Presentation.
  • Em seguida, percorra os slides usando a coleção Presentation.slides.
  • Em cada iteração, obtenha quadros de texto do slide usando o método SlideUtil.getalltextboxes(slide).
  • Percorra os quadros de texto e em cada iteração, execute as seguintes operações:
    • Percorra os parágrafos no quadro de texto.
    • Acesse as partes de texto em cada parágrafo.
    • Verifique se a parte do texto contém a string de pesquisa.
    • Se sim, encontre a posição da string de pesquisa e substitua o texto.
  • Salve o PPT atualizado usando o método Presentation.save(string, SaveFormat).

O exemplo de código a seguir mostra como localizar e substituir texto em um PowerPoint PPTX em Python.

import aspose.slides as slides

# apresentação de carga
with slides.Presentation("presentation.pptx") as pres:

    strToFind = "Master"
    strToReplaceWith = "[replaced]"

    # loop através de cada slide
    for slide in pres.slides:

        # obter todos os quadros de texto no slide
        tf = slides.util.SlideUtil.get_all_text_boxes(slide)

        # percorrer quadros de texto
        for i in range(len(tf)):

            # percorrer parágrafos no quadro de texto
            for para in tf[i].paragraphs:

                # percorrer partes de texto no parágrafo
                for port in para.portions:

                    # verifique se a string de pesquisa aparece na parte do texto
                    if strToFind in port.text:    

                        # substituir o texto existente pelo novo texto
                        str = port.text
                        idx = str.index(strToFind)
                        strStartText = str[0: idx]
                        strEndText = str[idx + len(strToFind): len(str)]
                        port.text = strStartText + strToReplaceWith + strEndText

    # salve a apresentação
    pres.save("find-and-replace-text.pptx", slides.export.SaveFormat.PPTX)

A captura de tela a seguir mostra a apresentação do PowerPoint de entrada.

Localizar e substituir texto em PPT usando Python

Abaixo está a captura de tela da apresentação resultante após a substituição do texto.

Substituir texto no PowerPoint PPT em Python

Obtenha uma licença gratuita

Você pode usar o Aspose.Slides para Python via .NET sem limitações de avaliação solicitando uma licença temporária.

Conclusão

Neste artigo, você aprendeu como localizar e substituir texto no PowerPoint PPT em Python. Você pode instalar o Aspose.Slides e automatizar a localização e substituição de texto em seus aplicativos Python. Além disso, você pode ler a documentação para explorar mais sobre o Aspose.Slides for Python. Além disso, você pode postar suas dúvidas em nosso fórum.

Veja também

Info: A Aspose desenvolveu recentemente um serviço online gratuito Text to GIF que permite animar textos ou gerar GIFs a partir de textos simples.