(python-pptx) Как мне создать слайды, где заголовок каждого слайда является строкой из списка? - PullRequest
0 голосов
/ 14 апреля 2019

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

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

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

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

1 Ответ

2 голосов
/ 14 апреля 2019

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

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')
...