xiaoxue_admin
|
de4bb6934b
|
fix: 匹配逻辑改为顺序分配+多余金额合并
- 去掉6个策略的 if-else(含平均分配)
- 统一为:顺序分配 + 多余金额累加到最后一个科目
- 不再产生原始凭证上不存在的金额
- 借贷平衡不再因平均分配被破坏
|
2026-06-22 22:39:56 +08:00 |
xiaoxue_admin
|
b5107016b0
|
fix: 名称补位 + 科目名称提取规则 + PO5→POS
- 代码行名称为空时从下方最近含中文行补取名
- 有反斜杠取反斜杠前,无反斜杠取最后横杠后
- 摘要中 PO5/P05/P0S 自动纠正为 POS
|
2026-06-22 19:38:58 +08:00 |
xiaoxue_admin
|
e37610a35d
|
fix: 金额去重改为位置邻近去重,去掉合计行误杀逻辑
- 值去重改为位置去重(y差<15像素且值相同才去重)
- 去掉合计行去除逻辑(误杀同年金额)
- 去掉死代码
|
2026-06-22 18:22:49 +08:00 |
xiaoxue_admin
|
1bcda1ab8c
|
fix: 模板只有1页导致list index out of range崩溃
- 重生成标准双页模板(t_Schema + Page1)
- merge_output 硬编码列索引改为防御性类型检查
|
2026-06-22 17:40:17 +08:00 |
xiaoxue_admin
|
c49f9819e1
|
fix: 数据区上界恢复到150px(500px引入过多噪声)
同时也去掉y_end的合计裁剪,数据区一直延伸到页尾
|
2026-06-22 13:07:14 +08:00 |
xiaoxue_admin
|
f77161f885
|
fix: 名称补位优先取会计科目 + 摘要过滤增强
- 名称补位优先选含会计关键词(银行/货币/账款等)的文本
- 排除支行/分行/银行账号行被误当科目名
- 摘要候选排除纯会计术语(超过50%字是会计关键词)
- 增加biz_keywords区分业务摘要和科目名称
|
2026-06-22 12:21:05 +08:00 |
xiaoxue_admin
|
5f3df306c2
|
fix: 科目名称补位 + 摘要过滤科目名称
- 科目代码没名称时,从下方200px内补取含中文的文本作为名称
- 摘要候选排除以-/-开头的会计科目文本
- 摘要候选排除与代码名称重复的候选
- 名称补位排除含其他科目代码的行(防误匹配)
|
2026-06-22 12:11:58 +08:00 |
xiaoxue_admin
|
da0b5ff0b8
|
fix: 凭证摘要为空 + 数据区域计算错误
问题根因:
1. y_end 匹配了页面顶部的大写"合计"(y=375),导致数据区被截断
2. 摘要候选过滤太严(cy < code_y_min - 50),顶部共享摘要被过滤
3. 候选摘要含公司名/金额等非摘要文本
修复:
- y_end 取最靠下的"合计"行,排除带中文大写数字的合计
- 数据区域上界改为列头上方500px(此前仅150px)
- 摘要搜索范围扩大到 code_y_min 上方1000px
- 增加x坐标范围过滤(400~950)和公司名过滤
- 最近邻匹配 + 共享摘要fallback机制
|
2026-06-22 10:55:50 +08:00 |
xiaoxue_admin
|
801e492fa9
|
fix: 凭证号提取改进
- 双管线OCR:原图提取头部(凭证号/日期) + 预处理提取表格
- 正则兼容更宽松格式(空格、破折号)
- 修复预处理破坏小字导致65/66号凭证漏识别的问题
|
2026-06-22 10:13:48 +08:00 |
xiaoxue_admin
|
b86cf8d77f
|
feat: 提取凭证摘要(摘要)
- parser: 新增摘要提取逻辑,从 OCR 结果中筛选非代码/非金额文本
- 去掉 skip_keywords 中的日/期/年/月(误杀摘要文本)
- search_lines 用完整 OCR 行(不被合计行截断)
- 45张测试: 前30行中20行成功提取真实摘要
fix: remove debug prints, reject bank account/status texts
|
2026-06-22 09:42:20 +08:00 |
xiaoxue_admin
|
e27aa46451
|
feat: 多页合并后统一校验,不再误报多页凭证
- excel_writer: 加 merge_voucher_data() 按(日期,凭证号)合并凭证数据
- postprocessor: 加 validate_merged_vouchers() 对合并结果做完整校验
- kocr.py: process_single 不做借贷校验,批量完成后统一做
- 45张测试: 合并后26笔凭证,7笔通过✅ 19笔需复核⚠️
|
2026-06-22 08:38:02 +08:00 |
xiaoxue_admin
|
7a29633921
|
fix: 移除自定义字典(内置已覆盖),加 PaddleOCR None 防御
- finance_dict.txt 格式错误导致 rec_postprocess IndexError
- 内置 ppocr_keys_v1.txt (6623 chars) 已含全部财务大写字符
- 加 OCR 结果 None/空值防御性处理
- GPU 检测函数增加 paddle.is_compiled_with_cuda() 检查
- config.yaml use_gpu=false 直到 GPU 包装好
|
2026-06-22 07:50:49 +08:00 |
xiaoxue_admin
|
11a9c598fd
|
KOCR v4.0 — 金蝶 K3 凭证 OCR 填表工具
- 自动调参: 自动分析照片类型(闪光灯/偏暗/模糊/正常),按类型选最优参数
- 大小写金额交叉验证: chinese_amount_to_number 大写→数字,自动比对合计
- 双管线识别: PPStructure TableMaster → 回退 DB+SVTR
- 外置配置: config.yaml 集中管理所有参数,部署只需改这一个文件
- 模块化拆分: preprocessor / recognizer / parser / postprocessor / excel_writer
|
2026-06-22 04:33:08 +08:00 |