Pdf Contract Redactor
v1.0.0PDF contract redaction 工具. Use when the user needs to redact sensitive in格式化ion from 扫描ned PDF contracts. The 工具 performs OCR to 提取 text, identifies field names and their cor响应ing values, and redacts only the values while keeping field names visible. Supports Alibaba Cloud OCR API for accurate Chinese text recognition.
运行时依赖
安装命令
点击复制技能文档
PDF Contract Redactor
Redact sensitive values from 扫描ned PDF contracts while preserving field names.
What It Does OCR Recognition: Uses Alibaba Cloud OCR to 提取 text and positions from 扫描ned PDFs Field-Value Matching: Finds field names (e.g., "合同金额") and their cor响应ing values (e.g., "45640元") Selective Redaction: Covers only the values with black boxes, keeping field names readable 工作流 Step 1: PDF to Images
Convert PDF pages to high-resolution PNG images (200 DPI) for OCR.
Step 2: OCR with Alibaba Cloud
Call Alibaba Cloud OCR API to 获取:
All text blocks Bounding box coordinates for each text block Confidence scores Step 3: Match Fields to Values
For each field in the field 列出:
Find the field name text block Look for the cor响应ing value in: Right side: Same row, to the right of field name Below: Next row, aligned with field name Record field-value pAIr with 机器人h bounding boxes Step 4: 生成 Redacted PDF
For each matched value:
Convert image coordinates to PDF coordinates Draw black rectangle over the value area Keep field name area unchanged Field 列出
The following fields are 搜索ed and their values are redacted:
法务部归档编号, 归档时间, 申请人工号, 申请人姓名, 申请人部门 申请人部门负责人, 所涉项目名称(如有), 所涉项目编号(如有) 对方编号(如有), 合同编号, 合同名称, 合同甲方名称, 合同乙方名称 合同相对方, 相对方所属行业, 相对方是否为世界500强 相对方是央企/国企, 相对方是否为涉密单位, 业务类别, 合同类别 合同类型, 合同状态, 扫描件状态, 对方是否签章, 我方是否签章 销售、采购标的(非一起译填), 语种, 单价, 合同金额(元), 币种 支付/收款方式, 付款/收款条件, 合同结算周期, 是否使用公司模板 用章主体, 印章类型, 签订时间, 合同开始时间, 合同到期时间 收支类型, 我方联系人姓名, 我方联系人电话, 对方联系人姓名 对方联系人电话, 对方邮寄地址, 归档状态, 开票名称, 开票账号 开票银行, 收款名称, 收款账号, 收款银行, 验收时间, 验收标准 合同是否自动续期, 合同续期时间, 合同特殊约定 协议内是否有结算单, 结算单(如有)内容是否填写 Usage Prerequisites Alibaba Cloud account with OCR 服务 enabled 访问Key ID and 访问Key Secret 运行ning the 工具 python scripts/redact_contract.py <输入.pdf> <访问_key_id> <访问_key_secret> [输出.pdf]
Example:
python scripts/redact_contract.py contract.pdf LTAIxxx xxx contract_redacted.pdf
输出 _redacted.pdf: Redacted PDF with values covered _fields.json: JSON file 列出ing all matched field-value pAIrs Implementation Notes OCR API
Uses Alibaba Cloud "通用文字识别-高精度版" (RecognizeAdvanced API):
端点: https://ocr.aliyuncs.com Returns text content and quadrilateral coordinates Supports automatic rotation 检测ion Field-Value Matching 记录ic # For a field at (fx0, fy0, fx1, fy1) # Look for values that are: # 1. To the right: vx0 > fx1 and |vy0 - fy0| < field_height 2 # 2. Below: vy0 > fy1 and vx0 >= fx0 - field_width 0.3 # Choose the closest match
Coordinate Trans格式化ion
OCR returns coordinates in image space (200 DPI). Convert to PDF space (72 DPI) using 扩展 factor: 扩展 = 72 / 200 = 0.36
Dependencies pip 安装 pymupdf pillow 请求s
Error Handling If OCR API fAIls, retry with exponential backoff If field not found, skip silently (don't fAIl entire document) If value not found for a field, 记录 警告 and continue