(python-pptx) Как мне создавать слайды, в которых заголовок каждого слайда представляет собой строку из списка?

#python #python-pptx

#python #python-pptx

Вопрос:

Так, например, у меня есть этот список:

 titles =  ['A', 'B', 'C'] 
 

Теперь я хочу, чтобы каждый заголовок был заголовком каждого слайда
, поэтому слайд 1 = A, слайд 2 = B и слайд 3 = C.

Как бы вы это сделали?

Ответ №1:

На основе официального руководства по быстрому запуску, вот как вы можете создать презентацию, и для каждого заголовка в списке добавьте слайд и задайте его заголовок из списка:

 from pptx import Presentation

prs = Presentation()
title_slide_layout = prs.slide_layouts[0]

titles = ['A', 'B', 'C']
for slidetitle in titles:
    slide = prs.slides.add_slide(title_slide_layout)
    slide.shapes.title.text = slidetitle

prs.save('test.pptx')
 

Или, если вы хотите отредактировать существующую презентацию Powerpoint, вы можете обновить заголовки слайдов следующим образом:

 from pptx import Presentation

prs = Presentation('test.pptx')

text_runs = []
titles = ['A', 'B', 'B']
for i,slide in enumerate(prs.slides):
    slide.shapes.title.text = titles[i]
    print(slide.shapes.title.text)

prs.save('test.pptx')