# PDF敏感信息处理系统(第三小组) **Repository Path**: fagg-intern/fagougou_proj_group3 ## Basic Information - **Project Name**: PDF敏感信息处理系统(第三小组) - **Description**: (法狗狗第三小组)法律相关的PDF自动脱敏系统。 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2025-07-25 - **Last Updated**: 2026-03-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # PDF敏感信息处理系统 #### 项目简介 PDF 敏感信息处理系统是一款针对司法和政务场景设计的敏感信息保护工具,能够自动识别扫描版及文本版 PDF 文件中的敏感信息(如姓名、身份证号、联系方式等),并通过模糊、遮挡、替换、删除等方式实现合规脱敏,满足文档共享、开放发布及 AI 训练等场景的隐私保护需求。 #### 核心功能 1. **自动识别 PDF 类型**:每一页单独判断文本型或图像型(扫描件)PDF,采用差异化处理策略 2. **敏感信息检测**:NER模型+正则表达式识别多种敏感实体(含人名、身份证号、银行卡号等) 3. **多方式脱敏**:支持遮挡、模糊、替换、删除等脱敏方式,可根据实体类型自定义规则 4. **可视化交互**:提供敏感信息预览、脱敏配置及操作日志追溯功能 5. **批量处理**:支持多文件并行处理,提升政务 / 司法场景的处理效率 #### 软件架构 软件架构说明 ``` Proj/ ├─ main.py # 主程序 ├─ config_manager.py # 配置管理类 ├─ config_ui.py # UI配置页面 ├─ Data_Masking/ # 数据脱敏模块 │  ├─ base_strategy.py # 脱敏策略基类 │  ├─ type_based_strategy.py # 基于实体类型的策略 │  ├─ context_aware_strategy.py # 上下文感知策略 │  ├─ data_masker.py # 文本脱敏器 │  ├─ NER_model.py │  └─ __init__.py # Data_Masking 包初始化文件 ├─ extract_text.py # PDF文字提取 ├─ file_type_detector.py # 判断图片型/文本型 ├─ find_position.py # 识别敏感实体及其位置 ├─ log_viewer.py # 日志查看器 ├─ mult_methods.py # 多种脱敏方法(遮盖/模糊/替换/删除) ├─ ocr_client.py # OCR模块 ├─ pdf_processor.py # PDF处理核心类 ├─ processing_threads.py # 线程管理类 ├─ README.md ├─ run.bat # 运行主程序文件(需更改为自己的地址) ├─ Tesseract_OCR/ # OCR引擎(需配置环境变量) ├─ requirements.txt # 依赖 ├─ download_models.py # 下载NER模型 ``` #### 安装教程 1. 克隆或下载本项目到本地 2. 安装Python 3.10 3. 安装依赖包 ```python pip install -r requirements.txt ``` 4. 运行`download_models.py`,安装NER模型 5. 运行`main.py`,开启UI页面。也可以将`run.bat`文件中的地址改为自己的,然后直接双击运行。 #### 使用说明 ##### 单个PDF处理: 1. 点击`选择文件`; 2. 点击`扫描敏感信息`,等待扫描成功的提示; 3. 选择`输出设置`,指定导出目录,默认为桌面的Anonymized_PDFs;自定义配置脱敏方法,支持`遮挡/模糊/替换/删除`四种处理方法,其中,替换方法支持`实体类型名/***/已脱敏`三种; 4. 点击`执行脱敏`,等待成功的提示。 ![UI页面](figs/UI%E9%A1%B5%E9%9D%A2.png) ##### 批量PDF处理: 1. 点击`选择多个文件` 2. 配置脱敏方法并指定`批量输出目录` 3. 点击`批量脱敏`,一键处理多个文件