繁体   English   中英

python-pptx中图片的占位符

[英]Placeholder for pictures in python-pptx

我想用 python-pptx 在每张幻灯片上连续 3 张图片进行演示。

from pptx import Presentation
from pptx.util import Inches

height = Inches(3) #size  
top = Inches(0)  #y-position

img = 'image001.png'

prs = Presentation() #create presentation
blank_slide_layout = prs.slide_layouts[6] #define side layout


for j in range(0,5):
    slide = prs.slides.add_slide(blank_slide_layout) #add slide
    left = Inches(0) #x-position
    for i in range(0,3):
        pic = slide.shapes.add_picture(img, left, top, height=height)
        left = left+height    

prs.save('test.pptx')

这在这里有效,但我想了解占位符。 我需要首先在每张幻灯片上填充第一张(左)图片,然后跳回第一张幻灯片和所有第二张(中间)图片,第三列也是如此,因为我正在从 txt 文件加载图片。

txt文件看起来像

pic1a
pic2a
pic3a
pic1b
pic2b
...

我需要演示文稿中的图片

pic1a pic1b pic1c
pic2a..
pic3a...

我如何添加占位符并跳转到它们。 手册对我没有帮助。

首先添加您的(空白)幻灯片,然后反复遍历它们以添加图片。

大致如下:

for _ in range(3):
    slides.add_slide(blank_slide_layout)

left = first_left
for i in range(3):
    pic = slide[i].shapes.add_picture(img, left, top, height=height)
    ...

left = middle_left
for i in range(3):
    pic = slide[i].shapes.add_picture(img, left, top, height=height)
    ...

left = last_left
for i in range(3):
    pic = slide[i].shapes.add_picture(img, left, top, height=height)
    ...

如果您愿意,您可以使用嵌套循环更紧凑地完成第二部分,但首先将其作为三个单独的子句工作可能是明智的,这样您就可以清楚地看到每个嵌套迭代需要更改的内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM