本技能用于对技术合同(技术开发/技术转让/技术咨询/技术服务)进行自动化审核,核心流程为:
用户需提供以下文件路径:
| 输入 | 格式 | 说明 |
|---|---|---|
| ------ | ------ | ------ |
| 合同文件 | PDF / DOCX | 待审核的技术合同(支持扫描件PDF) |
| 审核清单 | DOCX | 技术合同登记表单关键信息提炼与审核清单模板 |
| 输出目录 | 路径 | 生成文件的保存位置(可选,默认工作目录) |
使用 python-docx 读取审核清单 docx 文件:
from docx import Document
doc = Document(r'<审核清单路径>')
for table in doc.tables:
for row in table.rows:
for cell in row.cells:
print(cell.text)
提取所有审核字段名称、审核要点说明、字段状态(必填/选填)。
情况 A:可提取文本的 PDF / Word 合同
直接用 PyMuPDF(fitz)提取文本:
import fitz
doc = fitz.open(r'<合同PDF路径>')
for page in doc:
text = page.get_text("text")
Word 合同用 python-docx 读取。
情况 B:扫描件 PDF(图片型,无提取文本)
import fitz
doc = fitz.open(r'<合同PDF路径>')
for i, page in enumerate(doc):
pix = page.get_pixmap(dpi=200)
pix.save(f'pdf_pages/page_{i+1:02d}.png')
关键经验:
对照审核清单中的字段,从合同文本中逐项提取:
标准审核字段(基础信息模块):
标准审核字段(合同核心信息模块):
交叉校验项目:
缺失项标注规则:
运行 scripts/generate_outputs.py 脚本生成两份 Word 文件:
文件 1:技术合同审核报告.docx
报告结构(6 个章节):
文件 2:技术合同登记表单_已填写.docx
表单结构:
Word 文档格式规范:
当用户需要批量处理多个合同时:
<合同名称>_审核报告.docx 和 <合同名称>_已填写清单.docxPyMuPDF (fitz) - PDF 读取和页面渲染
python-docx - Word 文档生成和读取
安装命令(如尚未安装):
C:\Users\xiaog\.workbuddy\binaries\python\envs\default\bin\pip install pymupdf python-docx
生成审核报告和已填写清单的主脚本。
用法:
python scripts/generate_outputs.py --output-dir <输出目录>
脚本内包含两个数据字典 contract_data_basic 和 contract_data_core,需在运行前根据实际合同内容填入。脚本会自动:
包含标准审核字段清单和交叉校验项目参考,供提取信息时对照使用。
共 1 个版本