python使用pptx库-从一个ppt复制页面到另一个ppt里面

news2024/10/9 2:22:54

python使用pptx库-从一个ppt复制页面到另一个ppt里面

作者:虚坏叔叔
博客:https://xuhss.com

早餐店不会开到晚上,想吃的人早就来了!😄

在这里插入图片描述

一、原理

如题,我有一个模板课件.pptx

在这里插入图片描述

其内容:

在这里插入图片描述

我想复制模板中间的某一页多次,比如复制第1页,然后复制3次,

prs = Presentation(r"D:\自动化\课件.pptx")
for i in range(0,3):
    copied_slide = duplicate_slide(prs, 0)

次数是根据我的需求指定的,使用python pptx模块复制,

def duplicate_slide(pres,index):
    template = pres.slides[index]
    blank_slide_layout = pres.slide_layouts[index]
    copied_slide = pres.slides.add_slide(blank_slide_layout)
    for shp in template.shapes:
        el = shp.element
        newel = copy.deepcopy(el)
        copied_slide.shapes._spTree.insert_element_before(newel, 'p:extLst')
    for _, value in six.iteritems(template.part.rels):
        # Make sure we don't copy a notesSlide relation as that won't exist
        if "notesSlide" not in value.reltype:
            copied_slide.part.rels.add_relationship(value.reltype,
            value._target,
            value.rId)
    return copied_slide

然后保存成另一个pptx文件

path = r'D:\自动化\result.pptx'
prs.save(path)

在这里插入图片描述

复制后的ppt内容

在这里插入图片描述

二、所有代码

import copy,six
from pptx import Presentation


def duplicate_slide(pres,index):
    template = pres.slides[index]
    blank_slide_layout = pres.slide_layouts[index]
    copied_slide = pres.slides.add_slide(blank_slide_layout)
    for shp in template.shapes:
        el = shp.element
        newel = copy.deepcopy(el)
        copied_slide.shapes._spTree.insert_element_before(newel, 'p:extLst')
    for _, value in six.iteritems(template.part.rels):
        # Make sure we don't copy a notesSlide relation as that won't exist
        if "notesSlide" not in value.reltype:
            copied_slide.part.rels.add_relationship(value.reltype,
            value._target,
            value.rId)
    return copied_slide

prs = Presentation(r"D:\自动化\课件.pptx")
for i in range(0,3):
    copied_slide = duplicate_slide(prs, 0)
path = r'D:\自动化\result.pptx'
prs.save(path)

总结

最后的最后
由本人水平所限,难免有错误以及不足之处, 屏幕前的靓仔靓女们 如有发现,恳请指出!

最后,谢谢你看到这里,谢谢你认真对待我的努力,希望这篇博客对你有所帮助!

你轻轻地点了个赞,那将在我的心里世界增添一颗明亮而耀眼的星!

💬 往期优质文章分享

  • C++ QT结合FFmpeg实战开发视频播放器-01环境的安装和项目部署
  • 解决QT问题:运行qmake:Project ERROR: Cannot run compiler ‘cl‘. Output:
  • 解决安装QT后MSVC2015 64bit配置无编译器和调试器问题
  • Qt中的套件提示no complier set in kit和no debugger,出现黄色感叹号问题解决(MSVC2017)
  • Python+selenium 自动化 - 实现自动导入、上传外部文件(不弹出windows窗口)

🚀 优质教程分享 🚀

  • 🎄如果感觉文章看完了不过瘾,可以来我的其他 专栏 看一下哦~
  • 🎄比如以下几个专栏:Python实战微信订餐小程序、Python量化交易实战、C++ QT实战类项目 和 算法学习专栏
  • 🎄可以学习更多的关于C++/Python的相关内容哦!直接点击下面颜色字体就可以跳转啦!
学习路线指引(点击解锁)知识定位人群定位
🧡 Python实战微信订餐小程序 🧡进阶级本课程是python flask+微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一个全栈订餐系统。
💛Python量化交易实战 💛入门级手把手带你打造一个易扩展、更安全、效率更高的量化交易系统
❤️ C++ QT结合FFmpeg实战开发视频播放器❤️难度偏高分享学习QT成品的视频播放器源码,需要有扎实的C++知识!
💚 游戏爱好者九万人社区💚互助/吹水九万人游戏爱好者社区,聊天互助,白嫖奖品
💙 Python零基础到入门 💙Python初学者针对没有经过系统学习的小伙伴,核心目的就是让我们能够快速学习Python的知识以达到入门

🚀 资料白嫖,温馨提示 🚀

关注下面卡片即刻获取更多编程知识,包括各种语言学习资料,上千套PPT模板和各种游戏源码素材等等资料。更多内容可自行查看哦!

请添加图片描述

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

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

相关文章

百趣代谢组学文献分享:大麦盐胁迫响应机制的组学分析

前言 百趣代谢组学文献分享,我国受盐碱化危害耕地面积超过1.4亿亩,严重危险粮食安全和三农问题的解决。因此开发耐盐农作物并研究其耐盐机制具有迫在眉睫的重要意义。 代谢组学文献分享,浙江大学吴德志教授研究组最近发表的研究成果比较了耐…

Jmeter之界面语言设置

一、临时性设置中文 临时性设置:设置后只对本次使用有效,重启Jmeter后恢复默认语言。 选择Options—>Choose Language—>选择其他语言(例如:Chinese(Simplified)简体中文)设置成功。重启…

32 基变换和图像压缩

一、知识概要 本节主题是线性变换与矩阵的关联,从图像压缩与信号处理的应用引入,介绍几种方便的基向量:傅里叶,小波。最后从代数角度大体上介绍了基变换与变换矩阵的关系。 二、图像处理 首先我们假设有一个 512 * 512 的黑白图…

StarRocks斩获「2022 掘金引力榜」年度技术品牌传播案例 Top 10!

近日,由稀土掘金技术社区打造的「掘金引力榜」正式公布,由StarRocks社区举办的StarRocks Summit Asia 2022荣获「掘金引力榜 2022 年度技术品牌传播案例 Top10」!掘金是面向全球中文开发者的技术社区。「掘金引力榜」是由稀土掘金技术社区打造…

【MyBatis持久层框架】配置文件实现增删改查实战案例(下)

前言 前面我们学习了 MyBatis 持久层框架的原生开发方式和 Mapper 代理开发两种方式,解决了使用 JDBC 基础性代码操作数据库时存在的硬编码和操作繁琐的问题。 在配置文件实现增删改查上篇中,我们详细讲解了常用的查询操作,例如查询所有数据…

Spring Boot 项目 - API 文档搜索引擎

在线体验 : http://43.139.1.94:9090/index.html项目 Gitee 链接 : API 文档搜索引擎1.认识搜索引擎我们平时查百度, 搜狗的时候, 结果页会显示若干条相关结果 , 每个结果几乎都包含图片, 标题, 描述, 展示 URL以及时间等等.1.1 搜索引擎的本质输入一个查询词, 得到若干个结果,…

stm32学习笔记-1 STM32简介

1 STM32简介 [toc] 注:笔记主要参考 江科大自化协 教学视频“STM32入门教程-2023持续更新中”。 注:工程及代码文件放在了本人的Github仓库。 1.1 套件简介 本教程使用STM32最小系统板(STM32F103C8T6)面包板硬件平台进行学习。…

微信小程序 Springboot校园自动点餐系统带跑腿 java

开发语言:Java 小程序前端框架:uniapp 小程序运行软件:微信开发者 可选运行软件:webapp (hbuiderx) 前端开发语言:vue.js 后端技术:Springboot(SpringSpringMVCMyBatis) 可选技术:springboot 后端开发环境:idea和eclipse都支持 数据库:mysql …

六、服务端开发

服务器端开发&#xff1a;服务器设计框架&#xff1a;缓解和转发的作用连接音箱和app最大一个作用转发一个app操作音箱app绑定音箱服务器类实现&#xff1a;jsoncpplibventverser.h#ifndef SERVER_H #define SERVER_H#include <event.h>#define IP "172.17.7.99&…

【C++入门】缺省参数

目  录1 缺省参数1.1 缺省参数概念1.2 缺省参数分类1.3 缺省参数使用注意1 缺省参数 1.1 缺省参数概念 缺省参数是声明或定义函数时为函数的参数指定一个缺省值。 在调用该函数时&#xff0c;如果没有指定实参&#xff0c;则采用该形参的缺省值&#xff0c;否则使用指定的实…

Spring Profiles 实现多环境配置 ,切换环境

Spring Profiles 实现多环境配置 Spring Profiles 就是针对应用程序&#xff0c;不同环境需要不同配置加载的一种解决方案。 使用场景: 我们平常项目开发&#xff0c;经常需要根据不同的环境进行配置的修改&#xff0c;比如在本地开发会加载本机的配置和开发环境数据库&#x…

【NKOJ-昨天今天和明天】考试游记

目录 昨天上午的序列 - 30pts今天上午的扫除 - 100pts明天上午的教室 - 100pts明天上午的数组 - 100pts明天上午的函数 - 100pts 题目排序太合理了,EDCBA依次变难,导致我对着A题苦思冥想了半小时...但是A题是[LeetCode 907. 子数组的最小值之和]的换皮题(除了题目一点没变)然…

初始OAuth2.0

1. 什么是OAuth2.0 OAuth2.0是目前使用非常广泛的授权机制&#xff0c;用于授权第三方应用获取用户的数据。 举例说明&#xff1a;用户可以通过选择其他登录方式来使用gitee&#xff0c;这里就使用到了第三方认证。 OAuth 引入了一个授权层&#xff0c;用来分离两种不同的角色…

前端工程化

一、前端工程化1、webpack&#xff08;1&#xff09;定义&#xff1a;是一个前端的构建工具。前端代码格式多&#xff08;html、css、js、图片&#xff09;&#xff0c;前端构建工具的作用是将各种格式不同文件打包到一起&#xff0c;方便项目的上线运行。&#xff08;将开发环…

Java学习笔记---干货

Java学习 一、java版本 JavaSE &#xff1a;标准版&#xff08;桌面应用程序、控制台程序&#xff09; JavaEE&#xff1a;E企业级开发&#xff08;Web端&#xff0c;服务器的开发&#xff09; JDK&#xff1a;Java开发工具 JRE&#xff1a;Java运行环境 JVM&#xff1a;…

通信原理笔记—基带信号的功率谱

目录 二进制纯随机序列基带信号的功率谱&#xff1a; 基带信号的功率谱分析&#xff1a; (1)信号(t)的功率谱&#xff1a; (2)信号v(t)的功率谱&#xff1a; 随机序列S(t)的功率谱&#xff1a; 二进制纯随机序列基带信号的功率谱&#xff1a; 基带信号的功率谱分析&#…

软件需求说明书确保正确性的6大关键点

软件需求说明书对软件开发项目非常关键&#xff0c;如何确保其正确性&#xff0c;关键有6大要点&#xff01; 1、需求与其他需求是否相互冲突或重复 一般需求规格说明书长达几百页&#xff0c;并不是一蹴而就的&#xff0c;因此可能出现前后观点的重叠或差异&#xff0c;或同一…

[HDCTF2019]Maze 题解

少欲则心静&#xff0c;心静则事简。 ——人民日报 1.查壳 是一个加了upx壳的32位EXE文件 2.使用Kali Linux脱壳 maze题目脱壳3.去除脏字节 没有找到主函数&#xff0c;发现这段汇编代码标红了&#xff0c;IDA分析崩溃&#xff0c;这是掺杂了花指令 这里jnz&#xff0c;不论判…

中国电子学会2022年03月份青少年软件编程Scratch图形化等级考试试卷三级真题(含答案)

青少年软件编程&#xff08;图形化&#xff09;等级考试试卷&#xff08;三级&#xff09; 分数&#xff1a;100 题数&#xff1a;38 一、单选题(共25题&#xff0c;共50分) 1. 以下四个选项中&#xff0c;运行哪个积木块&#xff0c;可能得到523这个数值&#xff1f;&…

25-35分布式事务seata

分布式事务Seata使用及其原理剖析 Seata的三大角色 TC (Transaction Coordinator) - 事务协调者 维护全局和分支事务的状态&#xff0c;驱动全局事务提交或回滚。 TM (Transaction Manager) - 事务管理器 定义全局事务的范围&#xff1a;开始全局事务、提交或回滚全局事务。 RM…