Я пытаюсь определить функцию для создания презентации Power Point по python-pptx
.
У меня есть свой собственный шаблон Power Point и несколько изображений должны быть встроены в каждый слайд. Я использовал *
, чтобы разрешить произвольное количество аргументов для функций.
Например, у меня есть 3 iamges (.png
). Я хочу поместить каждое изображение в разные слайды, сказал 3 здесь.
Код, который я пробовал:
from pptx import Presentation
from pptx.util import Inches
def Create_PPT(oldFileName, newFileName, *img):
prs = Presentation(oldFileName)
# Create the slides for images
for image in *img:
graph_slide_layout = prs.slide_layouts[9] # 9 is the customized template I create in my oldfile.
slide = prs.slides.add_slide(graph_slide_layout)
title = slide.shapes.title
title.text = image
left = Inches(0.7)
top = Inches(0.75)
height = Inches(6)
width = Inches(12)
pic = slide.shapes.add_picture(image, left, top, width = width, height = height)
prs.save(newFileName)
Create_PPT('mystyle.pptx', 'new.pptx', 'test1.png', 'test2.png', 'test3.png')
Я получил ошибку:
for image in *img:
^
SyntaxError: invalid syntax
Более того, я думаю, что мой код неполон. Чтобы просмотреть и добавить слайды, я думаю, мне также нужно добавить больше синтаксиса.
for index, _ in enumerate(prs.slide_layouts):
slide = prs.slides.add_slide(prs.slide_layouts[index])
Однако это не правильно. Выше кода просто перебрать, чтобы создать различные макеты слайдов. Мое расположение слайдов исправлено, 9
здесь.
Поэтому я думаю, что мне нужно перебрать prs.slides.add_slide()
, но я не уверен в этом, поскольку я получаю ошибки при каждой попытке.
На выходе будет 3 слайда с изображением на каждом, а заголовок каждого слайда - это имя изображения, test1
, test2
и test3
.
Любое предложение по этому поводу?