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格式 |

相关推荐
czhc11400756632 分钟前
Linux 76 rsync
linux·运维·python
悠悠小茉莉32 分钟前
Win11 安装 Visual Studio(保姆教程 - 更新至2025.07)
c++·ide·vscode·python·visualstudio·visual studio
m0_625686551 小时前
day53
python
Real_man1 小时前
告别 requirements.txt,拥抱 pyproject.toml和uv的现代Python工作流
python
站大爷IP2 小时前
Python文件操作的"保险箱":with语句深度实战指南
python
运器1232 小时前
【一起来学AI大模型】算法核心:数组/哈希表/树/排序/动态规划(LeetCode精练)
开发语言·人工智能·python·算法·ai·散列表·ai编程
巴里巴气4 小时前
selenium基础知识 和 模拟登录selenium版本
爬虫·python·selenium·爬虫模拟登录
19894 小时前
【零基础学AI】第26讲:循环神经网络(RNN)与LSTM - 文本生成
人工智能·python·rnn·神经网络·机器学习·tensorflow·lstm
JavaEdge在掘金5 小时前
Redis 数据倾斜?别慌!从成因到解决方案,一文帮你搞定
python
ansurfen5 小时前
我的第一个AI项目:从零搭建RAG知识库的踩坑之旅
python·llm