Найти и заменить текст в PowerPoint PPT на Python

При обработке цифровых документов часто требуется найти и заменить определенный текст в содержимом. Это может потребоваться, когда часть информации должна быть подвергнута цензуре перед передачей документов. Чтобы выполнить это программно, в этой статье рассказывается, как найти и заменить текст в PowerPoint PPT или PPTX в Python.

Библиотека Python для поиска и замены текста в PowerPoint PPT

Aspose.Slides for Python через .NET — замечательная библиотека, упрощающая работу с презентациями PowerPoint из приложений Python. Более того, вы можете легко создавать насыщенные презентации с нуля. Мы будем использовать эту библиотеку для поиска и замены текста в файлах PPT/PPTX. Вы можете использовать следующую команду pip для установки библиотеки из PyPI.

> pip install aspose.slides

Поиск и замена текста в PowerPoint PPT с использованием Python

Чтобы заменить тот или иной фрагмент текста в презентации, вам придется пройтись по содержимому всех слайдов, что довольно просто сделать с помощью Aspose.Slides. Ниже приведены шаги по поиску и замене текста в презентации PPTX в Python.

  • Сначала загрузите PowerPoint PPT/PPTX с помощью класса Presentation.
  • Затем просмотрите слайды, используя коллекцию Presentation.slides.
  • На каждой итерации получайте текстовые рамки слайда с помощью метода SlideUtil.getalltextboxes(slide).
  • Перебирайте текстовые фреймы и на каждой итерации выполняйте следующие операции:
    • Прокрутите абзацы в текстовом фрейме.
    • Доступ к текстовым частям в каждом абзаце.
    • Проверьте, содержит ли текстовая часть строку поиска.
    • Если да, найдите позицию строки поиска и замените текст.
  • Сохраните обновленный PPT, используя метод Presentation.save(string, SaveFormat).

В следующем примере кода показано, как найти и заменить текст в PowerPoint PPTX в Python.

import aspose.slides as slides

# load presentation
with slides.Presentation("presentation.pptx") as pres:

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

    # loop through each slide
    for slide in pres.slides:

        # get all text frames in the slide
        tf = slides.util.SlideUtil.get_all_text_boxes(slide)

        # loop through text frames
        for i in range(len(tf)):

            # loop through paragraphs in text frame
            for para in tf[i].paragraphs:

                # loop through text portions in paragraph
                for port in para.portions:

                    # check if search string appears in text portion
                    if strToFind in port.text:    

                        # replace exisitng text with the new text
                        str = port.text
                        idx = str.index(strToFind)
                        strStartText = str[0: idx]
                        strEndText = str[idx + len(strToFind): len(str)]
                        port.text = strStartText + strToReplaceWith + strEndText

    # save the presentation
    pres.save("find-and-replace-text.pptx", slides.export.SaveFormat.PPTX)

На следующем снимке экрана показана входная презентация PowerPoint.

Найти и заменить текст в PPT с помощью Python

Ниже приведен скриншот результирующей презентации после замены текста.

Заменить текст в PowerPoint PPT на Python

Получить бесплатную лицензию

Вы можете использовать Aspose.Slides для Python через .NET без ограничений на оценку, запросив временную лицензию.

Вывод

В этой статье вы узнали, как найти и заменить текст в PowerPoint PPT на Python. Вы можете установить Aspose.Slides и автоматизировать поиск и замену текста в своих приложениях Python. Кроме того, вы можете прочитать документацию, чтобы узнать больше об Aspose.Slides для Python. Кроме того, вы можете оставлять свои вопросы на нашем форуме.

Смотрите также

Информация: Aspose недавно разработал бесплатный онлайн-сервис Text to GIF, который позволяет анимировать тексты или создавать GIF-файлы из простых текстов.