Skip to content

About

基于 UMI-OCR + Flask 的身份证信息自动提取、Excel 导出、Word/Excel 模板填充工具

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

🪪 身份证信息智能提取与 A4 扫描件管理系统 (ID Card OCR Pro)

一款基于纯本地离线 OCR 推理、二代证智能透视纠偏、像素级免冠头像切片、A4 扫描件排版与 Word/Excel 图文智能套打的专业级生产力工具。无需联网、无需启动任何外部第三方服务,开箱即用,全面保障政企与个人数据隐私合规。


✨ 核心功能亮点

1. 📷 全能身份证离线高精度识别

  • 纯本地离线推理:内置轻量高效的 RapidOCR-ONNX 引擎,秒级推理,断网脱机无忧运行。
  • 全要素字段提取:自动提取并校验 姓名、性别、民族、出生日期、周岁年龄、身份证号码、住址、签发机关、有效期限 9 大核心要素。
  • 智能校验算法:严格执行 GB 11643-1999 二代证校验码算法;性别根据第 17 位奇偶严格计算,末位 X 自动大写规范化。

2. 🖨️ 智能纠偏切片与 A4 标准扫描件排版

  • 两阶段微倾斜纠偏与边缘咬合:基于文字语义方位自动校正 90°/180°/270° 姿态,采用 Sobel 梯度极大值与物理搜索带精准剔除键盘、木纹桌面杂乱背景。
  • 国标规格与平滑抗锯齿圆角:规范化至二代证 300DPI 印刷标准(1011 × 638 像素),采用 4x 超采样抗锯齿圆角(R=3.18mm),彻底消灭锯齿与黑边杂色。
  • 免冠头像像素级提取:自动按国标比例精准定位卡面右侧二代证头像,支持 一键复制到剪贴板、另存为高清照片。
  • 标准 A4 扫描件生成(上正下反):单人/批量一键生成符合政务与银行标准的 A4 扫描件,支持 高清彩色 与 商务复印机黑白质感。
  • 防盗用半透明安全水印:支持在 A4 扫描件卡面上覆盖倾斜半透明水印(默认:“仅供办理业务使用 他用无效”,支持自定义文案),有效防止证件被挪用冒用。

3. 📂 批量图片智能归属与管理

  • 智能人名分组配对:多张身份证照片拖拽导入,系统根据文件名规则自动识别归属并完成正反面配对(如 张三1.jpg + 张三2.jpg)。
  • 一图正反双面支持:一张照片内同时包含正反两面时,算法自动探测分割并拆解为标准正反卡片。
  • 批量多选与快捷管理:支持 Ctrl / Shift 批量多选,支持批量移除误选图片,提升大批量录入管理效率。
  • 全员 A4 扫描件汇总:支持将全批次人员一键合并导出为单份高清多页 PDF 或独立专属文件夹。

4. 📝 Word / Excel 模板图文智能套打

  • 文字与照片混合套打:在 Word/Excel 模板中只需定义简单占位符,一键生成标准人事表、档案卡或申报表。
  • 台账实时追加导出:识别数据支持一键实时追加导出至统一 Excel 台账。

5. 🖥️ 现代化响应式桌面工作台

  • 基于 CustomTkinter 打造现代化深色质感桌面界面。
  • 自适应窗口记忆:自动记录关闭时的窗口大小与屏幕位置,再次启动平滑复原,彻底杜绝小屏幕下底部超出桌面的问题。

🛠️ 技术架构

模块分层 核心技术 / 库 特性与用途
界面展示 (GUI) CustomTkinter + Tkinter 现代化自适应响应式桌面 UI,支持深色主题与平滑缩放
OCR 推理引擎 RapidOCR (ONNXRuntime) 纯本地 CPU 轻量离线推理,零外部端口依赖,冷启动 < 1 秒
图像视觉与矫正 OpenCV (cv2) + NumPy 仿射旋转、Sobel 梯度边缘定位、四点透视展平、双质感渲染
图形与抗锯齿 Pillow (PIL) 4x 超采样圆角掩模、透明 Alpha 通道处理、免冠头像切片
PDF 页面与排版 PyMuPDF (fitz) 高清多页 PDF 解析、A4 多页扫描件生成与矢量渲染
文档套打引擎 docxtpl (Jinja2) + openpyxl Word 图文混合渲染(文字 + 照片)、Excel 批量台账读写
商业授权安全 cryptography (RSA-2048 + AES) 硬件一机一码离线授权验证与在线解绑重置机制
CI/CD 构建发布 PyInstaller + GitHub Actions Windows 原生单文件封装(无控制台黑框)与自动化云编译发布

🚀 快速开始

方式一:直接运行绿色版(推荐)

  1. 下载 Release 页面发布的 IDCard_OCR_vX.X.X_Windows_x64.zip;
  2. 解压后双击运行 身份证OCR.exe 即可,无需安装任何 Python 环境与第三方依赖。

方式二:源码运行

1. 环境准备

推荐使用 Python 3.10+ 环境:

git clone https://github.com/hutufeng/Auto-fillforms.git
cd Auto-fillforms

2. 安装依赖

pip install -r requirements.txt

3. 启动应用

  • Windows 便捷启动:直接双击项目根目录下的 start.bat;
  • 命令行启动:
    python run_desktop.py

📖 核心使用指引

1. 单张与一图双面识别

  1. 在左侧面板选择或直接拖拽身份证照片:
    • 双图模式:分别选择正面与反面;
    • 单图双面模式:直接上传一张包含正反两面的照片;
  2. 点击 【⚡ 快速提取 (纯 OCR)】:1 秒内快速提取文字表单;
  3. 点击 【📸 完整识别 (含切片)】:同步生成二代证高清标准卡片、免冠头像,并激活剪贴板复制及 A4 扫描件导出功能。

2. 批量处理与多选移除

  1. 切换至 【批量表格生成】 标签页;
  2. 点击 【选择图片文件夹】 或直接拖拽导入包含多人身份证的文件夹;
  3. 列表支持多选:支持鼠标框选、配合 Ctrl 或 Shift 键实现多选,点击 【移除选中项】 即可快速清除误传图片;
  4. 点击 【开始批量识别】,进度条实时显示进度,完成后可直接导出汇总 Excel 或全员 A4 扫描件。

3. A4 扫描件防盗水印设置

  1. 点击 【🖨️ 导出此人 A4 扫描件】(或批量扫描件导出);
  2. 勾选 【防盗用水印】,可自由配置防挪用文字(例如:“仅供办理XX入职使用 他用无效”);
  3. 选择 彩色高清 或 黑白复印机 质感,点击立即生成标准 300DPI PDF 或 JPG。

4. Word / Excel 模板制作规范

在自定义 .docx 或 .xlsx 模板中放置对应占位符:

文本字段占位符:

{{姓名}}  {{性别}}  {{民族}}  {{出生日期}}  {{年龄}}
{{身份证号码}}  {{住址}}  {{签发机关}}  {{有效期限}}

图片字段占位符(仅 Word .docx 支持):

  • {{avatar}}:自动插入免冠二代证彩色头像;
  • {{card_front}}:自动插入标准正面切片;
  • {{card_back}}:自动插入标准反面切片。

🛠️ GitHub Actions 手动编译发布

本项目内置全自动 GitHub Actions 持续集成流:

  1. 打开您的 GitHub 仓库页面,点击 「Actions」;
  2. 选择 「Build and Release」 工作流;
  3. 点击右侧 「Run workflow」,输入本次发布的版本号(如 v1.0.0)及更新说明;
  4. 构建机(windows-latest)将自动完成依赖安装、PyInstaller 单文件封装及 ZIP 打包,并在 Releases 页面自动发布供下载。

📁 目录结构

Auto-fillforms/
├── .github/workflows/     # GitHub Actions 自动化编译发布工作流
├── assets/                # 软件图标与静态素材 (icon.ico / icon.png)
├── app_gui.py             # 现代化 CustomTkinter 响应式桌面主程序
├── local_ocr.py           # 纯本地 RapidOCR 推理引擎封装
├── id_scanner.py          # 图像智能纠偏、边缘拟合、圆角裁切与A4排版
├── id_parser.py           # OCR 文本多策略结构化解析
├── id_calculator.py       # 身份证校验码、周岁、生肖与性别推算
├── id_cropper.py          # 免冠头像精准切片与系统剪贴板通道
├── template_filler.py     # Word/Excel 模板图文混合智能填充
├── batch_processor.py     # 批量分组、多格式支持与并发调度
├── auth_manager.py        # 离线硬件指纹授权与在线解绑安全模块
├── build_portable.ps1     # 本地一键打包 PyInstaller 绿色免安装版脚本
├── run_desktop.py         # 桌面端原生入口
├── start.bat              # Windows 一键环境自适应启动脚本
├── requirements.txt       # 纯本地依赖清单
└── user_templates/        # 自定义套打模板存储目录

🔒 隐私与安全声明

  1. 零数据外发:所有 OCR 推理、图像处理、文档生成过程完全在用户本地计算机离线运行,不调用任何公网第三方 AI 接口;
  2. 合规无忧:用户上传与处理的证件原图、导出数据严格保存在本地 uploads/ 和 output/ 目录中,未经授权绝不上送云端。

📄 开源许可证

本项目基于 MIT License 授权开源。

About

基于 UMI-OCR + Flask 的身份证信息自动提取、Excel 导出、Word/Excel 模板填充工具

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages