如何在for循环python-pptx中的同一张幻灯片中添加两个或更多图像

亚力山大

我正在尝试使用python pptx包将图像添加到一张幻灯片中。

如何在python pptx中将两个图像添加到一张幻灯片

但是我在for循环中执行此操作时遇到困难;

假设我们在目录中有一堆图片,并且我们希望在与目录中的图片一起调整大小并添加当前幻灯片。当我在目录中eaglehawk目录中时,调整它们的大小和位置,然后将它们放到当前幻灯片中,然后移动下一张!

我得到的是每张图片都在不同的幻灯片中。

这是我的代码。

from pptx import Presentation
from pptx.util import Inches
from pptx.util import Inches

img_path = 'r/D/test'

eagle_1.png, eagle_2.png .... eagle_5.png

hawk_1.png, hawk_2.png .... hawk_5.png


def ppt_generator(img_path):

    prs = Presentation()
    blank_slide_layout = prs.slide_layouts[6]
    #slide = prs.slides.add_slide(blank_slide_layout)

    for images in glob.glob(img_path + '/*.png'):


        if 'eagle' in str(images):
            slide = prs.slides.add_slide(content_slide_layout)   
            slide = slide.shapes.add_picture(images , left=Inches(0), top=Inches(0), width=Inches(3), height = Inches(3))

        if 'hawk' in str(images):
            slide = prs.slides.add_slide(content_slide_layout)   
            slide = slide.shapes.add_picture(images , left=Inches(2), top=Inches(2), width=Inches(3), height = Inches(3))

    prs.save('eagle_hawk.pptx') 

我想要拥有的是每个eagle_1和hawk_1应该在同一张幻灯片中,依此类推!

我怎样才能做到这一点?

斯堪尼

一种方法是在单独的功能中组合鹰/鹰图片对。也许像这样:

def iter_image_pairs():
    eagles, hawks = [], []
    for image_path in glob.glob(img_path + '/*.png'):
        if "eagle" in image_path:
            eagles.append(image_path)
        elif "hawk" in image_path:
            hawks.append(image_path)
    for pair in zip(eagles, hawks):
        yield pair

然后,您的幻灯片循环就可以变成:

for eagle, hawk in iter_image_pairs():
    slide = prs.slides.add_slide(content_slide_layout)   
    slide.shapes.add_picture(
        eagle, left=Inches(0), top=Inches(0), width=Inches(3), height=Inches(3)
    )
    slide.shapes.add_picture(
        hawk, left=Inches(2), top=Inches(2), width=Inches(3), height=Inches(3)
    )

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在一张幻灯片中显示两个图像

如何在python pptx中将两张图像添加到一张幻灯片

如何在第一张幻灯片中添加按钮以加载下一张幻灯片?

如何在光滑的幻灯片中获取上一张幻灯片索引

如何在简单的jQuery幻灯片中隐藏上一张幻灯片?

如何在上一张幻灯片中停止我的HTML演示文稿?

如何从orientDB的同一张表中检索两个不同边的数据?

如何合并同一张表中的两个hasMany关系?

如何在mysql的同一张表的不同列中添加两个或多个时间数据类型

如何手动滑动到离子幻灯片中的下一张幻灯片

如何在同一页面上放置两个幻灯片框?

如何从同一张表中查询同一列但条件不同的两个不同的总和?

如何获取部分中第一张幻灯片的幻灯片编号?

如何将PDF从每页两张幻灯片转换为每页一张幻灯片?

如何将同一张图片插入PowerpPoint中的不同幻灯片(而不是所有幻灯片)

如何在同一页面上的html中添加不同的图像幻灯片?

如何在同一张表中的同一模板上显示来自两个不同Django模型的实例?

bx滑块:仅显示一张图像时如何禁用幻灯片放映

当两个外键指向同一张表时如何使用Factory boy

如何使用 tensorboardX 在同一张图表上获得两个标量?

SQLAlchemy如何为同一张表定义两个模型

python - 如何使用 tkinter gui 转到幻灯片中的下一个图像

如何在Python中实现这两个循环?

如何在python中循环使用两个条件?

如何在滑块的末端创建一个按钮,该按钮可以更改并可以显示Ionic 4中的下一张幻灯片?

如何在Excel的同一张图中显示两个范围相同但频率不同的数据系列?

如何在同一张图中用条形图表示两个时间序列之间的差异?

如何在MySQL的同一张表上使用join合并这两个查询?

同一张表上的两个外键:如何在删除级联上实现?