返回顶部
p

pdf-contract-redactorPDF合同编辑

PDF contract redaction tool. Use when the user needs to redact sensitive information from scanned PDF contracts. The tool performs OCR to extract text, identifies field names and their corresponding values, and redacts only the values while keeping field names visible. Supports Alibaba Cloud OCR API for accurate Chinese text recognition.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
314
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

pdf-contract-redactor

PDF合同脱敏工具

从扫描版PDF合同中脱敏敏感数值,同时保留字段名称。

功能说明

  1. 1. OCR识别:使用阿里云OCR从扫描版PDF中提取文本及位置信息
  2. 字段-数值匹配:查找字段名称(如合同金额)及其对应的数值(如45640元)
  3. 选择性脱敏:仅用黑色方框遮盖数值区域,保持字段名称可读

工作流程

步骤1:PDF转图片

将PDF页面转换为高分辨率PNG图片(200 DPI)供OCR识别。

步骤2:阿里云OCR识别

调用阿里云OCR API获取:
  • - 所有文本块
  • 每个文本块的边界框坐标
  • 置信度分数

步骤3:字段与数值匹配

针对字段列表中的每个字段:
  1. 1. 查找字段名称文本块
  2. 在以下位置查找对应数值:
- 右侧:同行,字段名称右侧 - 下方:下一行,与字段名称对齐
  1. 3. 记录包含两个边界框的字段-数值对

步骤4:生成脱敏PDF

针对每个匹配的数值:
  1. 1. 将图片坐标转换为PDF坐标
  2. 在数值区域绘制黑色矩形
  3. 保持字段名称区域不变

字段列表

以下字段将被搜索,其数值将被脱敏:

  • - 法务部归档编号, 归档时间, 申请人工号, 申请人姓名, 申请人部门
  • 申请人部门负责人, 所涉项目名称(如有), 所涉项目编号(如有)
  • 对方编号(如有), 合同编号, 合同名称, 合同甲方名称, 合同乙方名称
  • 合同相对方, 相对方所属行业, 相对方是否为世界500强
  • 相对方是央企/国企, 相对方是否为涉密单位, 业务类别, 合同类别
  • 合同类型, 合同状态, 扫描件状态, 对方是否签章, 我方是否签章
  • 销售、采购标的(非一起译填), 语种, 单价, 合同金额(元), 币种
  • 支付/收款方式, 付款/收款条件, 合同结算周期, 是否使用公司模板
  • 用章主体, 印章类型, 签订时间, 合同开始时间, 合同到期时间
  • 收支类型, 我方联系人姓名, 我方联系人电话, 对方联系人姓名
  • 对方联系人电话, 对方邮寄地址, 归档状态, 开票名称, 开票账号
  • 开票银行, 收款名称, 收款账号, 收款银行, 验收时间, 验收标准
  • 合同是否自动续期, 合同续期时间, 合同特殊约定
  • 协议内是否有结算单, 结算单(如有)内容是否填写

使用方法

前置条件

  1. 1. 已开通阿里云OCR服务的账号
  2. AccessKey ID和AccessKey Secret

运行工具

bash
python scripts/redactcontract.py <输入文件.pdf> keyid> key_secret> [输出文件.pdf]

示例:
bash
python scripts/redactcontract.py contract.pdf LTAIxxx xxx contractredacted.pdf

输出文件

  • - <名称>redacted.pdf:数值已被遮盖的脱敏PDF
  • <名称>fields.json:列出所有匹配的字段-数值对的JSON文件

实现说明

OCR API

使用阿里云通用文字识别-高精度版(RecognizeAdvanced API):

  • - 端点:https://ocr.aliyuncs.com
  • 返回文本内容和四边形坐标
  • 支持自动旋转检测

字段-数值匹配逻辑

python

对于位于(fx0, fy0, fx1, fy1)的字段


查找满足以下条件的数值:


1. 右侧:vx0 > fx1 且 |vy0 - fy0| < 字段高度 * 2


2. 下方:vy0 > fy1 且 vx0 >= fx0 - 字段宽度 * 0.3


选择最接近的匹配项

坐标转换

OCR返回图片空间坐标(200 DPI)。
使用缩放因子转换为PDF空间坐标(72 DPI):scale = 72 / 200 = 0.36

依赖项

bash
pip install pymupdf pillow requests

错误处理

  • - 如果OCR API调用失败,使用指数退避策略重试
  • 如果未找到字段,静默跳过(不中断整个文档处理)
  • 如果未找到某字段对应的数值,记录警告并继续处理

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 pdf-contract-redactor-1776204834 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 pdf-contract-redactor-1776204834 技能

通过命令行安装

skillhub install pdf-contract-redactor-1776204834

下载

⬇ 下载 pdf-contract-redactor v1.0.0(免费)

文件大小: 6.47 KB | 发布时间: 2026-4-15 11:30

v1.0.0 最新 2026-4-15 11:30
- Initial release of PDF Contract Redactor, a tool to redact sensitive values from scanned PDF contracts while preserving field names.
- Uses Alibaba Cloud OCR for accurate text extraction, including support for Chinese.
- Automatically matches field names to their values and redacts only the values using black rectangles.
- Outputs a redacted PDF and a JSON file listing all matched field-value pairs.
- Includes robust error handling and supports batch PDF processing.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large