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

news2024/11/23 23:25:13

办公自动化办公中,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个数是是图片距离左侧和右侧的距离。

四、学后总结

  1. 经过实验Python-pptx这个模块插入图片的速度更快,因此建议使用第二种方法。
  2. Aspose.slides这个模块比较大,而且是收费的,如果是免费的生成的PPT中有水印,还要去除才可以。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1885481.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

施耐德全新EtherCAT运动控制器M310介绍

在制造业的蓬勃发展下,高性能运动控制器成为提升生产效率、保障产品质量的关键设备之一。M310是施耐德电气新一代高性能运动控制器,它基于Intel X86硬件平台和Codesys V3.5 SP19软件平台开发,支持EtherCAT总线,拥有强大算力、高易…

揭秘BERT背后的魔力:语义相似度算法深度剖析

文章目录 引言一、BERT模型概述二、语义相似度算法的重要性2.1 文本聚类2.2 信息检索2.3 问答系统2.4 对话系统2.5 情感分析2.6 机器翻译 三、基于BERT的语义相似度算法实现原理3.1 BERT的核心原理3.2 实现语义相似度算法的步骤3.3 深入解析3.4 应用实例3.5 注意事项 四、BERT在…

华为云服务器系统重装

文章目录 1 登录云服务器,点击控制台2 选择实例3 点击更多,选择重装系统4 勾选关机,填写密码,点击确定5 选择自己方便的认证方式6 同意协议7 等待完成8 重装完毕 1 登录云服务器,点击控制台 2 选择实例 3 点击更多&…

IIC电平转换电路原理

一、电平转换的必要性 在IIC主从设备连接时,由于主从设备可能存在不同的电源电压(如5V、3.3V、1.8V等),导致需要进行电平转换以确保正常通信。 二、电平转换电路的基本组成 电平转换电路通常包括上拉电阻、MOS管(通常…

从理论到实践的指南:企业如何建立有效的EHS管理体系?

企业如何建立有效的EHS管理体系?对于任何企业,没有安全就谈不上稳定生产和经济效益,因此建立EHS管理体系是解决企业长期追求的建立安全管理长效机制的最有效手段。良好的体系运转,可以最大限度地减少事故发生。 这篇借着开头这个…

智能数字人直播带货软件源码系统 实现真人直播形象 带完整当然安装代码包以及搭建教程

系统概述 智能数字人直播带货软件源码系统,是一个集成了先进的人工智能、3D建模、语音合成、自然语言处理等技术于一体的创新平台。它旨在通过构建高度定制化的虚拟主播,为用户提供沉浸式、高效能的直播体验。与传统直播相比,该系统的核心优…

稳居C位的AIGC,真能让人人都成“设计大神”?

在当今数字化时代,随着人工智能技术的飞速发展,AIGC(AI Generated Content,即人工智能生成内容)已经逐渐成为设计领域的新宠。特别是在UI设计领域,AIGC的崛起引人注目,甚至有人宣称,…

【机器学习】机器学习的重要方法——线性回归算法深度探索与未来展望

欢迎来到 破晓的历程博客 引言 在数据科学日益重要的今天,线性回归算法以其简单、直观和强大的预测能力,成为了众多领域中的基础工具。本文将详细介绍线性回归的基本概念、核心算法,并通过五个具体的使用示例来展示其应用,同时探…

Nacos单机部署、集群部署以及Nacos默认持久化derby数据库和配置mysql数据库

1. Nacos Windows 单机部署 1.1 去nacos官网下载nacos-server 发布历史 | Nacos 官网https://nacos.io/download/release-history/ 下载版本为 nacos-server-2.3.1.zip 2. 配置nacos持久化存储 2.1 默认使用Derby数据库 官网下载Derby数据库即可。 Apache Derby数据库htt…

AI新功能发布:AI生成数据库和AI规划任务,CoCodeAI再添新成员!

Hi,大家好,好久不见! 我是CoCodeAI智能助手CoCo。 CoCodeAI智能助手CoCo 我无比荣幸地为大家揭晓 CoCode开发云的璀璨新星: AI生成数据库AI规划任务。 近日,CoCode开发云旗下Co-Project V3.8智能项目管理平台重磅发…

启航IT世界:高考后假期的科技探索之旅

随着高考的落幕,新世界的大门已经为你们敞开。这个假期,不仅是放松身心的时光,更是为即将到来的IT学习之旅打下坚实基础的黄金时期。以下是一份专为你们准备的IT专业入门预习指南,希望能助你们一臂之力。 一:筑基篇&a…

C++基础(二):C++入门(一)

C是在C的基础之上,容纳进去了面向对象编程思想,并增加了许多有用的库,以及编程范式 等。熟悉C语言之后,对C学习有一定的帮助,本篇博客主要目标: 1. 补充C语言语法的不足,以及C是如何对C语言设计…

UTONMOS:探索未来区块链与元宇宙的游戏奇妙融合

在科技的飞速发展浪潮中,区块链技术正以前所未有的力量重塑着各个领域,而游戏行业也迎来了一场前所未有的变革——元宇宙游戏的崛起。 元宇宙,这个充满无限想象的虚拟世界,让玩家能够沉浸其中,体验超越现实的奇幻之旅。…

【Python】已解决:ValueError: If using all scalar values, you must pass an index

文章目录 一、分析问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 已解决:ValueError: If using all scalar values, you must pass an index 一、分析问题背景 在Python编程中,尤其是当使用pandas库进行数据分析和处理时&a…

有感于市面上笔记软件鱼龙混杂,自己写了一款轻量级的笔记软件

对于有收集资料或者文字创作需求的人士而言,一款合适的笔记软件很是需要。 市面上笔记软件很多,有支持手机同步的也有支持网络储存的。 但如果只是保存文本与图片,且对数据隐私与数据安全性有很高要求,数据要掌握在自己手里。那…

SpringBoot之内容协商

现象演示 假设有一个需求是根据终端的不同,返回不同形式的数据,比如 PC 端需要以 HTML 格式返回数据,APP、小程序端需要以 JSON 格式返回数据。这时我们是 coding 几个相似的接口?还是在一个接口里面做复杂判断处理?两…

【Spring Boot】spring boot环境搭建

1、环境准备 JDK安装:确保安装了Java Development Kit (JDK) 1.8或更高版本。JDK是Java编程的基础,Spring Boot项目需要它来编译和运行。Maven或Gradle安装:选择并安装Maven或Gradle作为项目构建工具。Maven通过pom.xml文件来管理项目的依赖…

ThingsKit物联网平台功能解析

随着物联网技术的飞速发展,各种物联网平台应运而生,为设备管理和数据集成提供了强大的支持。ThingsKit物联网平台以其全面的功能和灵活的配置,成为行业中的一大亮点。本文将详细解析ThingsKit物联网平台的功能清单,带您深入了解该…

大模型时代的基础架构,大模型算力中心建设指南重磅来袭!

什么是最畅销商品?什么是高毛利商品? 我们来看一个例子: 一件T恤使用成本为100元的原料,价格为140元。另一件T恤使用成本为80元的原料,但在样式、颜色、图案的设计上比较有特色,价格也为140元。 当这两件…

AI Agent项目实战(03)-利用TTS技术让你的AI Agent发声

1 语音逻辑设计 一个AI Agent应用的语音逻辑设计流程图。 1.1 基本流程 - 用户 -> Agent -> 文本回答 最基础的交互模式。用户输入被传递给Agent,Agent生成文本回答。 1.2 添加语音功能 - 用户 -> Agent -> 文本回答|vTTS服务 -> MSTTS -> …