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

相关推荐
兵慌码乱3 小时前
基于Python+PyQt5+SQLite的药房管理系统实现:事务一致性与界面解耦全流程解析
python·sqlite·信号与槽·pyqt5·数据库设计·桌面应用开发·事务处理
金銀銅鐵5 小时前
[Python] 体验用欧几里得算法计算最大公约数的过程
python·数学
FreakStudio8 小时前
W55MH32L-EVB 上手测评:硬件 TCP/IP 加持的以太网单片机,MicroPython 零门槛开发
python·单片机·嵌入式·大学生·面向对象·并行计算·电子diy·电子计算机
用户03321266636710 小时前
使用 Python 从零创建 Word 文档
python
Csvn14 小时前
Python 两大经典坑点 —— 可变默认参数 & 闭包延迟绑定
后端·python
曲幽15 小时前
别再用网页翻译看源码了!你的私人翻译神器LibreTranslate,部署避坑指南来了
python·docker·web·pot·translate·libretranslate·arogstranslate
用户5569188175317 小时前
#从脚本到独立程序:Python + Playwright 批量抓取的完整踩坑记录
python·自动化运维
兵慌码乱1 天前
基于 MediaPipe 与 PySide2 的手势交互音乐控制系统实现:轻量化视觉交互全流程解析
python·opencv·计算机视觉·人机交互·手势识别·mediapipe·pyside2
luckdewei1 天前
FastAPI 资产管理系统实战:复杂 ORM 关联、Alembic 迁移与 N+1 查询优化
python