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.hqwc.cn/news/342770.html

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

相关文章

宏景EHR view接口sql注入漏洞

产品简介 宏景eHR人力资源管理软件是一款人力资源管理与数字化应用相融合,满足动态化、协同化、流程化、战略化需求的软件. 漏洞概述 宏景eHR view接口处存在SQL注入漏洞,未经过身份认证的远程攻击者可利用此漏洞执行任意SQL指令,从而窃取…

苹果可充电键盘背光系统专利曝光:延长MacBook Air / Pro续航

根据美国商标和专利局(USPTO)近日公示的清单,苹果公司近日获得了一项关于电子设备键盘的相关专利。 苹果公司在专利中表示,为了在低光环境下,能够提高用户敲击键盘的输入体验,通常键盘会提供背光。 传统键…

小手也能用的高性能鼠标,自定义空间还挺高,雷柏VT9Pro mini上手

今年搭载PAW3395传感器的电竞鼠标很受欢迎,雷柏就出了不少型号,满足各种喜好的玩家选择,像是近期新出的搭载3395高定版的VT9Pro和VT9Pro mini,就在轻量化的基础上,满足了各种手型的玩家的使用需要,而且价格…

用于马铃薯叶片病害预测的端到端深度学习框架(完整代码)

摘要 农业生产力在全球经济发展和增长中起着至关重要的作用。当农作物受到疾病影响时,它会对一个 国家的经济资源和农业产出产生不利影响。及早发现作物病害可以最大限度地减少农民的损失并提 高产量。在这项研究中,提出了一种新的深度学习模型,旨在自动预测马铃薯叶部病…

通过反射修改MultipartFile类文件名

1、背景 项目上有这样一个需求&#xff0c;前端传文件过来&#xff0c;后端接收后按照特定格式对文件进行重命名。(修改文件名需求其实也可以在前端处理的) //接口类似于下面这个样子 PosMapping("/uploadFile") public R uploadFile(List<MultipartFile> fil…

adrv9009使用记录

这里写自定义目录标题 1.首先下载cygwin&#xff0c;CSDN可以直接搜索&#xff0c;按照对应的安装就可以&#xff0c;最后记得加一个make安装包&#xff0c;不然在make时候会导致指令不存在 2.下载完成之后&#xff0c;去adi-github官网找到对应版本的adrv9009工程 https://git…

jmeter和meterSphere如何使用第三方jar包

工具引用jar包语言都是beanshell 问题起因&#xff1a;metersphere 接口自动化实现过程中&#xff0c;如何实现字符串加密且加密方法依赖第三方库&#xff1b; 使用语言&#xff1a;beanshell脚本语言&#xff0c;java语言 使用工具&#xff1a;idea jmeter metersphere 1.首…

设计模式面试

C 面向对象设计 封装&#xff1a;隐藏内部实现继承&#xff1a;复用现有代码多态&#xff1a;改写对象行为 设计模式关键在于分解和抽象; 设计模式的主要目的是易于变化 面向对象设计原则–比设计模式更加重要 违背了设计原则&#xff0c;设计模式是错误的。 依赖倒置原则…

LeetCode+ 56 - 60

合并区间 双指针算法、位运算、离散化、区间合并_小雪菜本菜的博客-CSDN博客 class Solution { public:vector<vector<int>> merge(vector<vector<int>>& a) {vector<vector<int>> res;if(a.empty()) return res;sort(a.begin(),a.en…

SQL Server的彻底卸载的方式

这篇文章主要介绍了SQL Server的彻底卸载的方式&#xff0c;具有很好的参考价值&#xff0c;希望对大家有所帮助。如有错误或未考虑完全的地方&#xff0c;望不吝赐教 SQL Server的彻底卸载与再次安装 可能大家已经有深刻体会&#xff0c;SQL Server的卸载十分繁琐。最让人头…

第 379 场 LeetCode 周赛题解

A 对角线最长的矩形的面积 模拟 class Solution { public:int areaOfMaxDiagonal(vector<vector<int>> &dimensions) {int res 0, len2 0;for (auto &x: dimensions)if (x[0] * x[0] x[1] * x[1] > len2 || x[0] * x[0] x[1] * x[1] len2 &&am…

MySQL篇—通过Clone插件进行本地克隆数据(第二篇,总共三篇)

在上一篇文章中&#xff0c;我们深入探讨了Clone技术的多种用途&#xff0c;以及使用它所需满足的前提条件。我们也详细分析了Clone存在的限制&#xff0c;并深入了解了其背后的备份原理。今天&#xff0c;我们将继续探索MySQL Clone Plugin的强大功能&#xff0c;Clone其实最重…