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

相关推荐
用户03321266636743 分钟前
使用 Python 将 HTML 内容添加到 PowerPoint 演示文稿中
python·html
看浪的路人44 分钟前
第4讲:MCP Client 开发——连接、发现、调用
windows·python·ai
Swift社区1 小时前
Python 开发环境怎么选?PyCharm、VS Code、Trae 谁更适合 AI 开发?
人工智能·python·pycharm
卷无止境1 小时前
聊聊Web开发里的流式数据 从原理到FastAPI实战
后端·python·fastapi
SMF19191 小时前
【PyCharm】让 PyCharm 使用 .venv 虚拟环境
ide·python·pycharm
修远客1 小时前
感知模块:Agent的眼睛和耳朵 — 三层降级策略让Agent永不"失明"
python·agent
circuitsosk1 小时前
Prompt Engineering进阶:面向复杂业务场景的模板化管理与动态注入策略
python·langchain·prompt·跨境电商·rag·上下文管理·动态注入
酷可达拉斯2 小时前
自动化运维-从零开始编写ansible剧本(二)
linux·运维·服务器·centos·自动化
Nomarsgo2 小时前
联控 Lionconit PTC-1006手持工业平板电脑在野外输电线路巡检中的应用方案
运维·科技·自动化·汽车·电脑
Livia要学习2 小时前
Python闭包
开发语言·jvm·python