场景痛点:
法务或商务助理每天会收到大量扫描件或PDF格式的合同/发票。他们需要逐一打开文件,手动复制其中的“合同编号”、“乙方名称”和“总金额”填入内部管理系统,然后再将原件转发给相关审批人。这种机械性的“搬运”工作不仅枯燥,还极易因疲劳导致录入错误。
解决方案:
结合OCR识别技术与Python的文件操作及邮件模块,实现“非结构化文档解析 → 数据提取 → 自动流转”的全链路自动化。
脚本逻辑(Python + smtplib + 正则提取):
python
编辑
1import re, os, smtplib
2from email.mime.multipart import MIMEMultipart
3from email.mime.text import MIMEText
4
5# 步骤1:模拟从PDF中提取到的文本内容(实际可接入OCR工具)
6pdf_text = "合同编号: HT-2026-089 \n乙方名称: 星辰科技有限公司 \n总金额: 50000元"
7
8# 步骤2:使用正则表达式精准提取关键字段
9contract_no = re.search(r'合同编号:\s*(.+)', pdf_text).group(1)
10company_name = re.search(r'乙方名称:\s*(.+)', pdf_text).group(1)
11
12# 步骤3:构建并发送通知邮件给审批人
13msg = MIMEMultipart()
14msg['Subject'] = f'【新合同待审】{contract_no} - {company_name}'
15msg.attach(MIMEText(f'收到一份来自{company_name}的新合同,编号为{contract_no},请及时审批。'))
16
17server = smtplib.SMTP_SSL('smtp.company.com', 465)
18server.login('assistant@company.com', 'password')
19server.sendmail('assistant@company.com', 'manager@company.com', msg.as_string())
20server.quit()
21print('合同信息已提取并通知审批人!')实用价值:
- 消除断点:打破了本地文件、内部系统与邮箱之间的壁垒,实现了信息的无缝流转。
- 零差错率:机器识别与自动填写杜绝了人工手误,确保关键财务/法务数据的准确性。
- 即时响应:无论何时收到文件都能即刻触发处理与通知流程,大幅缩短业务审批周期。
