Замена определенного текста во всех сторонах ppt с использованием python-pptx

1

Я новичок в python-pptx. Но я знаком с его основной работой. Я много искал, но не смог найти способ изменить определенный текст другим текстом во всех слайдах. Этот текст может быть в любом текстовом кадре слайда. как и все слайды в ppt имеют ключевое слово "java", я хочу изменить его на "python", используя python pptx в слайдах.

for slide in ppt.slides:
    if slide.has_text_frame:
        #do something with text frames
Теги:
python-pptx
presentation

1 ответ

0
Лучший ответ

Что-то вроде этого должно помочь, вам нужно будет итерации объектов shape в каждом slide.shapes и проверить TextFrame и существование вашего ключевого слова:

def replace_text_by_keyword(ppt, keyword, replacement):
    for slide in ppt.slides:
        for shp in slide.shapes:
            if shp.has_text_frame and keyword in shp.text:
                thisText = shp.text.replace(keyword, replacement)
                shp.text = thisText

Конечно, этот пример - просто простой str.replace если у вас есть более сложный алгоритм замены/обновления текста, вы можете изменить его по мере необходимости.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню