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_layouts0)

向占位符中添加内容 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 .pagesindex

提取文本 .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格式 |

相关推荐
玖石书21 分钟前
python-uv-windows环境安装方案
windows·python·uv
海盗123428 分钟前
AI 新闻日报 2026-09-28:正确性审查自动化、7×24 个人智能体、具身部署态
运维·人工智能·机器人·自动化·人工智能aigc
happylifetree34 分钟前
Python06-08:Python开发工具PyCharm安装
python·pycharm
liuchangng41 分钟前
类Jev项目Kev从入门到实战(1):Kev 是什么——不开权重也能自训的决策模型
人工智能·python·jev·kev·决策模型
leihefeng1 小时前
PX06-对比两个 Excel 文件的差异:从逐单元格到生产级实现
python·excel
dghongcheng1 小时前
UV固化设备怎么选?UV固化炉选购指南
自动化·喷涂设备·喷涂·喷漆设备·自动喷涂线
Ticnix1 小时前
MCP 上个月把自己推翻重写了:Session 没了、Sampling 废了——你学的教程还停在 2025
python·agent·全栈
“AI国潮设计-小江”1 小时前
[AIGC实战] 基于Stable Diffusion的潮汕非遗IP自动化生成工作流(附Python批量处理脚本)
开发语言·人工智能·python·prompt·aigc
LOVE️YOU1 小时前
Python 中的 range 是类还是函数?range 对象该怎么理解?
python
VidDown2 小时前
从视频画面里提取文字:OCR、文字检测与结构化输出
python·网络协议·ocr·音视频·视频编解码·视频