|
查看: 225|回复: 41
|
[PC]
【20260806】证件合并工具IDCardMerge v2.54
[复制链接]
|

UID4
贡献9 点
钻石99 个
C币8 个
|
v2.54 20260806更新日志
重要说明:Windows 11 25H2 OpenGL 兼容性 问题现象
在 Windows 11 家庭中文版 25H2的部分版本上,程序启动后任务管理器可见进程,但界面不显示。
根本原因
本程序基于 Fyne 框架开发,底层通过 GLFW + OpenGL 渲染界面。Windows 11 25H2 更新了 GPU 驱动栈和显示子系统,部分硬件(尤其是 Intel 集成显卡)的 OpenGL 驱动与 GLFW 存在兼容性问题,导致 OpenGL 上下文创建失败,窗口无法正常渲染。
解决方案
采用 Mesa3D llvmpipe 软件 OpenGL ( opengl32.dll ,约 36MB)作为 fallback。该 DLL 使用 CPU 纯软件渲染,不依赖 GPU 驱动,可绕过硬件兼容性问题。程序启动时,Windows DLL 加载器会优先加载 exe 同目录下的 opengl32.dll 。
各系统版本对 opengl32.dll 的需求
系统版本是否需要 opengl32.dll原因Windows 10(所有版本)不需要GPU 驱动 OpenGL 正常Windows 11(21H2 ~ 24H2)不需要GPU 驱动 OpenGL 正常Windows 11 25H2(26200.8894)需要OpenGL 上下文创建失败,需 Mesa3D fallbackWindows 11 25H2(其他更新)视情况而定如标准版无法显示界面,改用专用版
主程序两个发行版本
版本文件名大小适用场景标准版IDCardMerge.exe15.8 MBWindows 10 / Win11 21H2~24H2 / 其他无 OpenGL 兼容问题的系统Win11 25H2 专用版IDCardMerge_WIN11_8894.exe28.0 MBWindows 11 25H2(26200.8894),内置 xz(LZMA2) 压缩的 opengl32.dll,首次运行自动释放到程序目录提示:标准版请下载证件合并工具IDCardMerge v2.54.rar解压使用,在您的电脑上若无法显示界面(任务管理器有进程但窗口不出来),请下载IDCardMerge_2.54_WIN11_8894.exe替换主程序使用。
修复
朝鲜族(少数民族双语)身份证 OCR 识别全面优化 针对身份证同时印有中文 + 少数民族文字(如朝鲜族身份证同时印韩文)的情况,改进 OCR 后处理逻辑。
朝鲜文字符过滤 :新增 filterKoreanChars() ,在解析前清除 OCR 结果中所有 Hangul 区间字符(U+AC00–U+D7AF、U+1100–U+11FF、U+3130–U+318F),过滤后为空的结果行直接丢弃。
地址提取重写 :用正则 XX省XX市… 从合并文本中匹配真实地址(支持跨行),并在「组 / 号 / 村 / 队 / 室 / 栋 / 楼 / 幢 / 排 / 院 / 小区 / 宿舍 / 大厦 / 单元」等常见结尾词处截断尾部乱码( trimAddressAtEndings() )
姓名回退提取 :当「姓名」标签被朝鲜文干扰无法识别时,自动在 OCR 结果中查找 2–4 个纯汉字作为姓名候选(排除「姓名、性别、民族、出生、住址…」等标签关键字)
签发机关正则提取 :用「XX公安局 / XX公安分局」模式从全文直接匹配,跳过中间乱码
出生日期 / 性别通用回退 :从 18 位身份证号中提取(第 7–14 位为出生日期 YYYYMMDD,第 17 位奇数=男、偶数=女),完全不依赖 OCR 标签
性能与体积
EXE 体积大幅减小:UPX + LZMA 加壳
标准版: 39.2 MB → 15.8 MB (压缩率 40%)
Win11 25H2 专用版: 51.4 MB → 28.0 MB (压缩率 55%)
下载地址:https://tungsl.lanzouu.com/b0kp4ikad密码:evm4
v2.53 20260801更新日志
PDF导出质量可选设置
在「设置」中新增 PDF 导出质量选项
有损压缩 (JPEG) :默认模式,文件体积小,适合日常使用
无损压缩 (PNG) :打印清晰度最佳,适合对画质要求高的场景
设置后永久生效,除非重新切换
自由排版辅助线
自由排版模式下,拖拽调整图片后,该图片四个边自动显示蓝色辅助线
辅助线横贯整个A4画布,拖拽其他图片时可作为对齐参考
多张图片的辅助线可同时显示,互不干扰
退出自由排版模式时自动隐藏
2026-07-24 更新日志
解决“Al 模型加载失败,智能裁剪功能可能受限(请检查 model 目录”问题,增加 VC++ 运行库检测
如果用户电脑缺少 VC++ 运行库,检查程序启动时会弹出提示框
用户点击提示框中的下载链接,安装 VC_redist.x64.exe
安装完成后重新运行程序即可
2026-07-21 更新日志
V2.51界面
响应用户需求支持浅色、深色模式
2026-07-20 更新日志
核心功能优化
1. 增加多线程处理
使用 goroutine 和 semaphore 并行处理图片
最大并发数设为 4,显著提升批量导入和 OCR 识别速度
2. 身份证有效期"长期"识别
修复有效期包含"长期"时无法识别的问题
前台显示、复制功能及 Excel 导出均能正确处理"长期"格式
3. 导出目录统一
默认导出到项目根目录
用户选择其他目录后,所有导出功能自动跟随该目录
4. 导出体验优化
导出结束后保持在预览界面,不自动切换回主界面
5. 实时预览优化
批量导入时,处理完一张图片立即显示
状态标签实时显示处理进度
处理过程中自动禁用打印预览按钮,完成后恢复可用
界面布局调整
1. 顶部提示语移除
移除"请分别添加证件正面和背面,支持批量导入。双击图片微调,右侧可动态增删列数"提示行
将有用的"双击图片微调"提示移到底部状态栏显示
为照片列表区域节省更多空间
2. 底部状态栏重构
左侧:显示局域网访问地址(可点击复制)或提示语"支持批量导入,双击导入的图片可微调"
右侧:显示系统状态信息
切换逻辑:开启手机传图服务时显示局域网地址,否则显示提示语
3. 工具栏布局调整
打印预览按钮从底部单独一行移动到顶部工具栏
按钮顺序:手机传图 | 再瞅一眼 | 上传目录 | 新增一行 | 批量导入 | 清空数据 | 打印预览 | 设置 | 关于
水印功能优化
1. 日期选择框替换
替换:年/月/日下拉选择框 → widget.DateEntry 日历控件
2. 水印选项动态显示
默认:选择"无水印"时,隐藏字号、颜色、透明度、行数选项
动态:选择有水印的选项时,动态显示相关配置项并移除空行
代码清洁
1. 移除冗余代码
删除未使用的processAndAppendRow 函数
重构processSingleImage 和 processSingleImageForBatch 为公共函数 processImageCore
移除重复的图片处理代码
2. 全局变量优化
将btnAddRow、btnBatchImport、urlLabel、urlBtn 声明为全局变量
优化工具栏刷新逻辑,避免 nil 指针崩溃
2026-07-18更新日志
一、新增OCR 识别
- 集成 RapidOcrOnnx64.dll (ppocr v6 small 模型)
二、身份证智能识别
- 自动区分人像页 / 国徽页 / 非身份证卡证
- 人像页 :显示 姓名 + 身份证号 (同行,空格分隔)
- 国徽页 :显示 有效期限 (如 2016.06.13-2036.06.13 )
- 非身份证卡证 :显示图标,点击复制原始识别内容
- 同组身份证正反面信息合并显示,点击任一面均可复制完整信息
三、导出功能增强
- 身份证导出文件名包含姓名: 姓名_20260718_004500.jpg
- 打印预览界面新增「 导出OCR数据 」按钮
- 身份证 → Excel(正反面合并为一行,字段:序号/姓名/性别/民族/出生日期/住址/公民身份号码/签发机关/有效期限)
- 其他卡证 → TXT
四、UI 界面优化
- 编号格式 第\n1\n组 → NO.1
- OCR 文字信息居中加粗显示,非身份证图标也居中放置
- 水印字号选项改为数字并新增26号字: 26 / 36 / 56 / 72
- 透明度默认 20 ,行数默认 2
- 清空数据提示图标修复: (原 emoji 在字体下渲染异常)
五、按钮调整
- 手机传图和关闭服务合并为一个按钮
- 新增“再瞅一眼服务”(在不关闭服务的前提下,重新显示二维码)
- 开启服务时自动打开「再瞅一眼」对话框,并且在使用手机扫码上传一张图片后,对话框将自动关闭。
- 修复 :上传文件名唯一化( 时间戳_序号_随机串.ext ),解决目录始终只有一张照片的问题
六、新增「设置」功能(上传目录自动清理)
- 工具栏新增「设置」按钮(位于"清空数据"左侧)
- 可配置上传目录(Xtemp)中照片的保留天数
- 默认 7 天
- 设为 0 表示永不清理
- 通过 Fyne Preferences 持久化保存配置
- 程序启动时异步扫描 Xtemp 目录,自动删除修改时间早于保留天数的文件
下载地址:https://tungsl.lanzouu.com/b0kp4ikad密码:evm4
因为新增了OCR模型,所以体积变大了! |
温馨提示:
1、在论坛里发表的文章仅代表作者本人的观点,与本网站立场无关。
2、论坛的所有内容都不保证其准确性,有效性,时间性。阅读本站内容因误导等因素而造成的损失本站不承担连带责任。
3、当政府机关依照法定程序要求披露信息时,论坛均得免责。
4、若因线路及非本站所能控制范围的故障导致暂停服务期间造成的一切不便与损失,论坛不负任何责任。
5、注册会员通过任何手段和方法针对论坛进行破坏,我们有权对其行为作出处理。并保留进一步追究其责任的权利。
6、网络世界也请遵守我国的法律法规!一旦发现违法行为,将立即封存相关信息并报警处理!
|
|
|
|
|
|
|
|
|
|
发表于 2026-7-18 12:59:46
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|
发表于 2026-7-19 17:10:00
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|
发表于 2026-7-20 19:26:02
|
显示全部楼层
|
文档写清楚能省掉后面大量的沟通成本。这套配置在低配机器上跑得动吗? |
|
|
|
|
|
|
|
|
|
|
发表于 2026-7-22 09:52:59
|
显示全部楼层
|
备份策略比高可用更值得先做,出事的概率高得多。有没有遇到过数据一致性的问题? |
|
|
|
|
|
|
|
|
|
|
发表于 2026-7-23 17:05:57
|
显示全部楼层
|
这类问题排查最怕环境差异,先在本地复现会快很多。你们的规模大概多少?想判断下方案是否适用。 |
|
|
|
|
|
|
|
|
|
|
发表于 2026-7-25 10:58:28
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|
发表于 2026-7-26 13:37:20
|
显示全部楼层
|
量不大之前没必要过度设计,够用就好。想请教下你们的监控是怎么做的? |
|
|
|
|
|
|
|
|
|
|
发表于 2026-7-28 07:07:00
|
显示全部楼层
|
不要把简单问题复杂化,很多时候换个思路就绕过去了。 |
|
|
|
|
|
|
|
|
|
|
发表于 2026-7-29 18:08:23
|
显示全部楼层
|
|
|
|
|
|
|
|
温馨提示:
1、在论坛里发表的文章仅代表作者本人的观点,与本网站立场无关。
2、论坛的所有内容都不保证其准确性,有效性,时间性。阅读本站内容因误导等因素而造成的损失本站不承担连带责任。
3、当政府机关依照法定程序要求披露信息时,论坛均得免责。
4、若因线路及非本站所能控制范围的故障导致暂停服务期间造成的一切不便与损失,论坛不负任何责任。
5、注册会员通过任何手段和方法针对论坛进行破坏,我们有权对其行为作出处理。并保留进一步追究其责任的权利。
6、网络世界也请遵守我国的法律法规!一旦发现违法行为,将立即封存相关信息并报警处理!