PPT自动化处理

python-pptx模块

  • 可以创建、修改PPT(.pptx)文件
  • 非Python标准模块,需要单独安装

在线安装方式  pip install python-pptx 

读取slide幻灯片 .slides 

获取shape形状  slide.shapes

判断一个shape中是否存在文字  shape.has_text_frame

获取文字框  shape.text_frame

使用Python向PPT中写入数据

添加幻灯片slide      add_slide(prs.slide_layouts[0])

向占位符中添加内容   shape.text= 字符串

添加段落paragraph      .add_paragraph()

设置层级关系       .level=级别

添加一个文本框   shide.shapes.add_textbox(left,top,width,height)

添加图片     slide.shapes.add_picture(图片路径,距离左边,距离顶端,宽度,高度)

添加表格     shapes.add_table(rows,cols,left,top,width,height)

使用Python设置PPT中的样式

设置文本框样式

  • .margin_bottom
  • .margin_left
  • .vertical_anchor
  • .word_wrap

设置文本框的背景颜色样式

  • .solid()
  • .fore_color.rgb 

 设置边框样式

  • .color
  • .width

与word中使用相似的样式

序号

样式

描述

1

.add_run()

添加新的文字块

2

.level

段落缩进层级

3

.line_spacing

段落行间距

4

.runs

段落内的文字块

5

.space_after

段后间距

6

.space_before

段前间距

 设置字体样式

序号

样式

描述

1

.font.name

字体名称

2

.font.bold

是否加粗

3

.font.italic

是否斜体

4

.font.color

字体颜色

5

.font.size

字体大小

PDF自动化处理 

pypdf2模块

  • 可以读取、写入、分割、合并PDF文件
  • 非Python标准模块,需要单独安装

pdfplumber模块 

  • 可以更好地读取PDF文件内容
  • 可以提取PDF中的表格
  • 非Python标准模块,需要单独安装

pip install pypdf2

pip install pdfplumber 

打开PDF文件   pdfplumber.open(filename)

获取指定索引页的PDF  .pages[index]

提取文本     .extract_text()

提取表格     .extract_table()

提取多张表格口   .extract_tables()

使用Python操作PDF文档

  • 打开指定的PDF文件    PdfFileReader(filename)
  • 获取PDF文件的总页数   .getNumPages()
  • 创建PDF文件        PdfFileWriter()
  • 添加page页           .addPage()
  • 写入内容                .write()

加密PDF文件       pdf_write.encrypt(密码) 

解密PDF文件       pdf_reader.decrypt(密码)

 邮件自动化处理

yagmail模块

  • 用于发送邮件

keyring模块 

  • 可以将密码隐藏
  • 方便 、安全地储存密码

imbox模块 

  • 简易的Python IMAP包
  • 进行IMAP相关操作

开启QQ邮箱的SMTP功能 

发送一封简单邮件 

  •  yagmail.SMTP(usre=用户名,host=SMTP服务器域名)
  • .send(接收方邮箱,主题,内容)

 利用Python读取邮件

读取密码(授权码)       keyring.get_password(‘yagmail’,邮箱)

读取邮件内容             imbox(IMAP服务器地址,邮箱地址,密码,是否开启SSL加密)

序号

读取的内容

描述

1

message.sent_from

发件人

2

message.sent_to

收件人

3

message.subject

主题

4

message.date

时间

5

message.body[‘plain’]

文本格式

6

message.body[‘html’]

HTML格式

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

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

相关文章

记录汇川:H5U与Fctory IO测试10

主程序: 子程序: IO映射 子程序: 自动程序 Fctory IO配置: HMI配置: 实际动作如下: Fctory IO测试10

Java Websocket发送文件给Vue客户端接收并上传,实现检测U盘插入并将指定文件上传到服务器功能

应用环境: B/S架构 需求描述: 1、判断U盘接入 2、扫描U盘指定文件,将满足条件的文件发送给服务器 解决思路: 1、因为bs架构,无法获取本机资源,计划在U盘所在服务器部署websocket服务 2、websocket服务扫描u…

C# 快速模指数运算 快速求余运算

此方法解决这样一个问题,就是a^b mod m 的余数是多少。 如果直接计算a^b,方次很大的时候,会溢出,而且时间很长。 当然指数很小的时候直接用自带的Math函数就行,如果指数很大的时候,可以用以下的方法。 原…

提升源代码安全性的C#和Java深度混淆工具——IpaGuard

保护C#|JAVA源代码的深度混淆工具——IpaGuard 摘要 Ipa Guard是一款功能强大的IPA混淆工具,通过对iOS IPA文件进行混淆加密,保护其代码、资源和配置文件,降低破解反编译难度。本文将介绍Ipa Guard的深度混淆技术,包括逻辑混淆、…

白学的小知识[node.ji三大模块]

1. http模块:http模块是Node.js官方提供的用来创建HTTP服务器和客户端的模块。它提供了一系列的方法和属性,用来满足用户对HTTP通信的需求。例如,可以使用http模块创建一个简单的HTTP服务器,监听指定的端口,并处理请求…

世微AP5125 输入14-80V 输出12V5A LED灯降压恒流电源驱动方案 SOT23-6

这是一款60WLED驱动方案,线路图BOM表如下 ​ 祥单表: 实物图: 产品描述 AP5125 是一款外围电路简单的 Buck 型平均电流检测模式的 LED 恒流驱动器,适用于 8-100V 电压范围的非隔离式大功率恒流 LED 驱动领域。芯片采用固定频率 140kHz 的 …

【Spring Boot】application 配置文件(2)

server.servlet.session.timeout1800 spring.jackson.time-zoneGMT8 spring.jackson.date-formatyyyy-MM-dd HH:mm:ss server.servlet.session.timeout1800 定义了 HTTP 会话的超时时间,单位是秒,在此设置中,会话的超时时间被设置为 1800秒 即…

element + table 行列合并

如图&#xff0c;实现通过判断数据&#xff0c;动态的合并列数据 <template><div class"merge-cell"><el-table:data"tableData":span-method"objectSpanMethod"borderstyle"width: 100%; margin-top: 20px"><e…

thinkadmin笔记

Db::name(huanggou)->where(id,$arra[dashou_id])->inc(num_read

记录el-select+el-tree复选框,支持模糊查询,懒加载,树父子节点不关联,不全选

需求&#xff1a;一个机构下拉菜单&#xff0c;一个人员下拉菜单&#xff0c;默认带入当前登录用户的机构和人员。机构下拉菜单为两个接口&#xff0c;模糊查询为一个接口不包含懒加载&#xff0c;默认非模糊查询情况下为一个接口&#xff0c;点击节点懒加载。机构下拉菜单数据…

计算机网络+线性代数+大学物理

前言 不加湘潭大学的tag&#xff0c;防止曝光率太高哈哈 计算机网络 选择题确定的是5个题&#xff0c;填空题确定的是2个题&#xff0c;简答题前两个确定&#xff0c;然后就没有了&#xff0c;27&#xff0b;62&#xff0c;26&#xff0b;&#xff0c;确实是比较难&#xff…

【STM32】HAL库的STOP低功耗模式UART串口唤醒,解决首字节出错的问题(全网第一解决方案)

【STM32】HAL库的STOP低功耗模式UART串口唤醒&#xff0c;解决首字节出错的问题&#xff08;全网第一解决方案&#xff09; 前文&#xff1a; 【STM32】HAL库的STOP低功耗模式UART串口唤醒&#xff0c;第一个接收字节出错的问题&#xff08;疑难杂症&#xff09; 目前已解决 …

docker swarm 常用命令简介以及使用案例

docker swarm Docker Swarm 是Docker官⽅的跨节点的容器编排⼯具。⽤户只需要在单⼀的管理节点上操作&#xff0c;即可管理集群下的所有节点和容器 解决的问题 解决docker server的集群化管理和部署Swarm通过对Docker宿主机上添加的标签信息来将宿主机资源进⾏细粒度分区&am…

LoadBalancer 替换 Ribbon

POM 移除 Ribbon 相关依赖 <!-- LoadBalancer 必须引入 springcloud --> <!-- 父pom引入springcloud 版本管理 --> https://spring.io/projects/spring-cloud/ 官网查看 boot 对应的 cloud 的版本 <dependencyManagement><dependency> <groupI…

【源码阅读】事件订阅包v2

1、Feed Feed 实现一对多订阅&#xff0c;其中事件的载体是通道。发送到 Feed 的值会同时传送到所有订阅的通道。 与Typemux的对比 链接: link TypeMux是一个同步的事件框架&#xff0c;当有一个被订阅的事件发生的时候&#xff0c;会遍历该事件对应的订阅者通道&#xff0c;…

redis源码之:事件驱动epoll

一、aeEventLoop初始化 从server.c的main方法中进入initServer&#xff0c;在initServer方法中&#xff0c;server.el aeCreateEventLoop(server.maxclientsCONFIG_FDSET_INCR);创建eventloop&#xff1a;&#xff08;注意fileevent与epollevent的区分fileEvent是标识往epoll…

day13 滑动窗口最大值 前K个高频元素

题目1&#xff1a;239 滑动窗口最大值 题目链接&#xff1a;239 滑动窗口最大值 题意 长度为K的滑动窗口从整数数组的最左侧移动到最右侧&#xff0c;每次只移动1位&#xff0c;求滑动窗口中的最大值 不能使用优先级队列&#xff0c;如果使用大顶堆&#xff0c;最终要pop的…

获取进行逗号分隔的id值 Split的使用

获取进行逗号分隔的id值,Split的使用 后台实现对有逗号进行分割的字符串 使用这行代码就不会有一个空数组值,直接过滤调数组中的空值 var ids = key.Split(,).Where(s => !string.IsNullOrEmpty(s

如何实现IOS APP被杀掉后依然可以接收到个推消息通知

背景 项目已经集成了个推SDK&#xff0c;但是在离线场景下无法收到推送消息&#xff0c;离线场景主要分2种情况&#xff0c;一种是用户将APP切换到了后台&#xff0c;一种是用户将APP杀掉了。 针对场景一&#xff1a;我们可以将APP支持后台运行&#xff0c;比如项目中使用到了…

WPF实现右键选定TreeViewItem

在WPF中&#xff0c;TreeView默认情况是不支持右键选定的&#xff0c;也就是说&#xff0c;当右键点击某节点时&#xff0c;是无法选中该节点的。当我们想在TreeViewItem中实现右键菜单时&#xff0c;往往希望在弹出菜单的同时选中该节点&#xff0c;以使得菜单针对选中的节点生…