如何使用Python在PPT中批量插入图片

PythonFun 2024-11-10 12:09:19编程技术
890

在日常办公和数据报告中,PPT作为一种常用的演示工具,经常需要插入大量的图片来增强视觉效果和信息传达。Python作为一种强大的编程语言,提供了多种方法来实现这一目标。本文将详细介绍如何使用Python在PPT中批量插入图片,帮助读者掌握这一重要技能。

办公自动化办公中,Python最大的优势是可以批量操作,省去了用户粘贴、复制、插入等繁琐的操作。经常做PPT的朋友都知道,把图片插入到PPT当中的固定位置是一个非常繁琐的操作,往往调整图片时耗费大量的时间和精力。如何能省时省力插入图片呢?今天我们来一起探索一下批量插入图片到PPT的三种办法。

一、手工操作

在WPS幻灯片中,通过插入——分页插图——再选择要插入的图片,就可以批量把图片插入到PPT当中,不过此时插入的位置默认是PPT的中间位置,就是说无法按照指定的位置插入。

如何使用Python在PPT中批量插入图片

最后的效果如下,每张图片都会居中显示:

如何使用Python在PPT中批量插入图片

二、用python-pptx模块

如果用Python的话,就可以批量插入,而且可以插入指定位置,这样可以大大节省插入的时间。

实现的过程也很简单,主要是导入指定模块,利用os来遍历所有的图片,然后创建ppt对象,插入空白的slide,然后通过循环的办法把图片插入到幻灯片中。根据图片距离左、上、高度来最终确定其位置。

from pptx import Presentation
from pptx.util import Inches
import os
 
# 获取当前目录下所有的png文件
pics = [file for file in os.listdir(".") if file.endswith(".png")]
 
# 创建一个演示文稿对象
prs = Presentation()
 
for pic in pics:
    # 添加一张新幻灯片
    slide_layout = prs.slide_layouts[5]  # 使用空白布局
    slide = prs.slides.add_slide(slide_layout)
 
    # 添加图片到幻灯片
    img_path = pic
    left = Inches(5.8)
    top = Inches(2)
    height = Inches(3.5)
    slide.shapes.add_picture(img_path, left, top, height=height)
 
# 保存演示文稿
prs.save('add-image-in-presentation.pptx')

三、利用Aspose.slides这个模块

Aspose模块的办法和python-pptx的类似。过程也是首先遍历得到图片的地址,然后创建PPT对象,通过添加空白slide,把图片插入的办法来实现。

import aspose.slides as slides
import os
pics = [file for file in os.listdir(".") if file.endswith(".png")]
 
    # 创建演示文稿
with slides.Presentation() as pres:
    # 访问第一张幻灯片
    for num,pic in enumerate(pics,0):
        
        slide = pres.slides.add_empty_slide(pres.layout_slides[0])
 
        # 从文件加载图像
        with open(pic, "rb") as in_file:
          
            # 将图像添加到演示文稿的图像集
            image = pres.images.add_image(in_file)
 
            # 将图像添加到幻灯片
            slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 20, 20, 100, 100, image)
 
    # 保存演示文稿
    pres.save("add-image-in-presentation.pptx", slides.export.SaveFormat.PPTX)

slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 20, 20, 100, 100, image)这行代码中,前2个数是是图片距离左侧和右侧的距离。

四、学后总结

经过实验Python-pptx这个模块插入图片的速度更快,因此建议使用第二种方法。

Aspose.slides这个模块比较大,而且是收费的,如果是免费的生成的PPT中有水印,还要去除才可以。

通过本文的介绍,我们了解了如何使用Python在PPT中批量插入图片。我们从创建PPT文件开始,逐步介绍了如何读取图片文件、设置图片位置和大小以及将图片插入PPT。这些步骤不仅能够帮助读者完成基本的图片插入任务,还能够为更复杂的PPT操作打下坚实的基础。希望本文的内容能够为您的Python办公自动化之旅提供有力支持,让您的PPT制作更加高效和专业。

Python PPT
THE END
站地网
别听世俗的耳语,去看自己喜欢的风景!

相关推荐

用AI制作PPT用什么软件好?2025年实测推荐5款高效工具
知乎用户强推:歌者PPT 知乎上有个真实体验分享,说试了一圈AI工具后,歌者PPT最实用。它专治“排版拖延症”,输入主题就能自动生成现代感设计,不像老式PPT那么土。重点是...
2026-04-02 新闻资讯
256

PPT币2025会暴涨吗?资深分析师实话实说
大家好啊。我是老K。混币圈7年了。今天聊聊PPT币。就是Pop Social那个币。粉丝天天问我。2025年它能暴涨百倍吗。说实话。我看完数据有点慌。咱们慢慢唠。 什么是PPT币? ...
2026-04-02 新闻资讯
263

ChatPPT官网免费入口指南
官网直达链接 ChatPPT的官网地址是https://www.chat-ppt.com/。 直接打开这个网址就能进入主页。 每天系统会提供免费使用次数。 新手第一次注册就能领到免费额度。 免费次数...
2026-04-02 新闻资讯
249

Python yield 用法大全:轻松掌握生成器与迭代器设计
在Python中,yield关键字是构建生成器的核心工具,它通过状态保存机制实现了高效的内存管理和惰性计算。与传统的迭代器实现相比,yield能将迭代器设计从复杂的类定义简化为直...
2025-09-15 编程技术
1207

基于Python的旅游数据分析可视化系统【2026最新】
本研究成功开发了基于Python+Django+Vue+MySQL的旅游数据分析可视化系统,实现了从数据采集到可视化展示的全流程管理。系统采用前后端分离架构,前端通过Vue框架构建响应式界...
2025-09-13 编程技术
1152

手把手教你用Python读取txt文件:从基础到实战的完整教程
Python作为数据处理的利器,文件读写是其基础核心功能。掌握txt文件读取不仅能处理日志、配置文件等常见场景,更是理解Python文件I/O的基石。本文ZHANID工具网将从基础语法到...
2025-09-12 编程技术
1069