Я пытаюсь получить заголовок каждого слайда файла PowerPoint с помощью Python. Я использую пакет Presentation в Python, но я не смог найти ничего, что определяло бы заголовки. У меня есть этот код, который возвращает содержимое файла PowerPoint. но мне нужно указать заголовки.

from pptx import Presentation

prs = Presentation("pp.pptx")

# text_runs will be populated with a list of strings,
# one for each text run in presentation
text_runs = []

for slide in prs.slides:
    for shape in slide.shapes:
        if not shape.has_text_frame:
            continue
        for paragraph in shape.text_frame.paragraphs:
            for run in paragraph.runs:
                text_runs.append(run.text)
5
Minerva 26 Ноя 2016 в 16:15

2 ответа

Лучший ответ

Это мое решение:

from pptx import Presentation

filename = path_of_pptx

prs = Presentation(filename)

for slide in prs.slides:
    title = slide.shapes.title.text
    print(title)

Вход:

enter image description here

Выход:

Hello, World!
Hello, World2!
Hello, World3!
6
eyllanesc 26 Ноя 2016 в 17:58

Чтобы основываться на ответе @ eyllanesc, как указывает @scanny, slide.shapes.title является заполнителем.

Это означает, что вы можете получить доступ к тексту заголовка, например:

from pptx import Presentation

prs = Presentation(ppt_filename)

slide = prs.slides[0]
slide.shapes.title.text = 'New Title'
print('New Title is:')
print(slide.shapes.title.text)

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

slide.shapes.title.top = 100
slide.shapes.title.left = 100
slide.shapes.title.height = 200
0
Pablo Guerrero 4 Май 2020 в 17:00