详解Python如何向PPT中批量插入图片

 更新时间:2024年11月07日 10:06:51   作者:PythonFun  
办公自动化办公中,Python最大的优势是可以批量操作,省去了用户粘贴、复制、插入等繁琐的操作,本文我们就来探索一下批量插入图片到PPT的三种办法吧

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

一、手工操作

在WPS幻灯片中,通过插入——分页插图——再选择要插入的图片,就可以批量把图片插入到PPT当中,不过此时插入的位置默认是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中批量插入图片的文章就介绍到这了,更多相关Python PPT批量插入图片内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • YOLOv5车牌识别实战教程(三)模型训练与评估

    YOLOv5车牌识别实战教程(三)模型训练与评估

    这篇文章主要介绍了YOLOv5车牌识别实战教程(三)模型训练与评估,在这个教程中,我们将一步步教你如何使用YOLOv5进行车牌识别,帮助你快速掌握YOLOv5车牌识别技能,需要的朋友可以参考下
    2023-04-04
  • Python 机器学习工具包SKlearn的安装与使用

    Python 机器学习工具包SKlearn的安装与使用

    Sklearn(全称 SciKit-Learn),是基于 Python 语言的机器学习工具包。本文将简单的介绍SKlearn安装与使用,想要入坑机器学习的同学可以参考下
    2021-05-05
  • python中enumerate的用法实例解析

    python中enumerate的用法实例解析

    这篇文章主要介绍了python中enumerate的用法,对Python初学者而言是非常重要的概念,需要的朋友可以参考下
    2014-08-08
  • Django结合WebSockets和异步视图实现实时通信功能

    Django结合WebSockets和异步视图实现实时通信功能

    在现代Web应用程序中,实时通信已经成为了必不可少的功能之一,这篇文章主要介绍了如何利用Django中的WebSockets和异步视图来实现实时通信功能,需要的可以参考下
    2024-04-04
  • python基础知识小结之集合

    python基础知识小结之集合

    本文给大家小结了一下Python中集合的基础知识,非常的简单易懂,有需要的小伙伴可以参考下。
    2015-11-11
  • Python3+selenium实现cookie免密登录的示例代码

    Python3+selenium实现cookie免密登录的示例代码

    这篇文章主要介绍了Python3+selenium实现cookie免密登录的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • Python 寻找局部最高点的实现

    Python 寻找局部最高点的实现

    今天小编就为大家分享一篇Python 寻找局部最高点的实现,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • 记一次pyinstaller打包pygame项目为exe的过程(带图片)

    记一次pyinstaller打包pygame项目为exe的过程(带图片)

    这篇文章主要介绍了记一次pyinstaller打包pygame项目为exe的过程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • 一文带你玩转Python中的倒排索引

    一文带你玩转Python中的倒排索引

    倒排索引是一种索引机制,广泛应用于信息检索和数据库系统中,本文主要为大家介绍了Python中倒排索引的原理与实战,感兴趣的小伙伴可以跟随小编一起学习一下
    2025-04-04
  • python多线程编程中的join函数使用心得

    python多线程编程中的join函数使用心得

    这篇文章主要介绍了python多线程编程中的join函数使用心得,本文先是给出了join函数使用例子,并对join函数的使用作了总结,需要的朋友可以参考下
    2014-09-09

最新评论