我正在尝试通过python-pptx
定义函数以生成PowerPoint演示文稿。
我有自己的PowerPoint模板,每个幻灯片都需要嵌入多个图像。我使用*
允许函数使用任意数量的参数。
例如,我有3个图(.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
。
有什么建议吗?
答案 0 :(得分:1)
img
是一个列表,我想您只是想对其进行遍历:
for image in img:
...