Используйте python, чтобы найти текст в PowerPoint и заменить на изображение? - PullRequest
0 голосов
/ 25 сентября 2019

Прямо сейчас мне нужно добавить различные изображения / значки рядом с именами в PowerPoint, соответствующими секторам, в которых они работают.Я нашел код , чтобы найти и заменить текст, но я хочу найти текст (например, «Здоровье», «Вода» и т. Д.) В PowerPoint и заменить его соответствующим изображением.Есть ли прямой способ сделать это?Приведенный ниже код заменяет «Health» строкой ReplaceList:

from pptx import Presentation    
ppt = Presentation('Powerpoint.pptx')    
TextList = 'Health'
ReplaceList = r'C:\Users\E\Desktop\Icons\Health.png'

for slide in ppt.slides:
    for shape in slide.shapes:
        if shape.has_text_frame:
            shape.text = shape.text.replace(TextList,ReplaceList)

ppt.save('New_Powerpoint.pptx')

Если нет, есть ли способ определить местоположение текста (слева, сверху), чтобы затем вставить изображение, используя код ниже?

pic = slide.shapes.add_picture(image, left, top)

1 Ответ

0 голосов
/ 25 сентября 2019

Возможно, что-то вроде этого - то, что вы ищете, хотя я не совсем уверен, где вы хотите разместить изображение относительно текста (прямоугольника).Вы также можете управлять width и height с помощью add_picture.

from pptx import Presentation    
ppt = Presentation('Powerpoint.pptx')    
search_str = 'Health'
image_link = r'C:\Users\E\Desktop\Icons\Health.png'

for slide in ppt.slides:
    for shape in slide.shapes:
        if shape.has_text_frame:
            if(shape.text.find(search_str))!=-1:
                pic = slide.shapes.add_picture(image_link, shape.left, shape.top)

ppt.save('NewPresentation.pptx')
...