105 lines
4.2 KiB
Markdown
105 lines
4.2 KiB
Markdown
# 通用图片表格识别处理程序说明
|
||
|
||
本目录是一套可复用的图片表格 OCR 处理脚手架。默认只提供通用字段和通用数据库结构;用于 UPP、PACS、HIS 或其他任务前,先复制并修改 `01_任务配置.template.json`。
|
||
|
||
## 文件顺序
|
||
|
||
1. `01_任务配置.template.json`:任务名、字段顺序、主唯一键、分类规则、OCR 参数、数据库表名。
|
||
2. `02_图片表格OCR归档.py`:处理单个图片批次,输出结构化 JSON、CSV、复核报告和 OCR 缓存。
|
||
3. `03_人工复核修正.template.json`:人工修正文件模板。正式修正时复制为 `03_人工复核修正.json`,不要提交真实数据。
|
||
4. `04_合并批次结果.py`:扫描 `数据处理结果区`,合并所有 `*-列表归档结果`。
|
||
5. `05_同步PostgreSQL单表.py`:把合并结果同步到 PostgreSQL 通用 JSONB 单表。
|
||
6. `06_PostgreSQL建表结构.template.sql`:通用表结构模板,正式任务可改成业务正式列。
|
||
7. `07_处理程序说明.md`:当前说明。
|
||
8. `08_本地运行流程.template.sh`:按顺序执行的本地命令模板。
|
||
|
||
## 首次使用
|
||
|
||
```bash
|
||
cp 数据处理工作区/01_任务配置.template.json 数据处理工作区/01_任务配置.json
|
||
cp 数据处理工作区/03_人工复核修正.template.json 数据处理工作区/03_人工复核修正.json
|
||
cp 数据处理工作区/06_PostgreSQL建表结构.template.sql 数据处理工作区/06_PostgreSQL建表结构.sql
|
||
```
|
||
|
||
然后人工修改:
|
||
|
||
- `project_name`、`record_name`。
|
||
- `unique_key`。
|
||
- `fields` 字段顺序、字段类型、必填规则、正则规则。
|
||
- `classification.folder_rules`。
|
||
- `ocr.rows_per_image` 或 `ocr.row_height_px`,如果要启用行数漏识别校验。
|
||
- `postgres.table_name` 和 SQL 表名。
|
||
|
||
## 处理单个批次
|
||
|
||
```bash
|
||
export TENCENTCLOUD_SECRET_ID='填入腾讯云 SecretId'
|
||
export TENCENTCLOUD_SECRET_KEY='填入腾讯云 SecretKey'
|
||
|
||
python3 数据处理工作区/02_图片表格OCR归档.py \
|
||
--config 数据处理工作区/01_任务配置.json \
|
||
--input "待处理-[任务名]图片集群/[批次文件夹名]" \
|
||
--output "数据处理结果区/已处理-[任务名]图片集群/[批次文件夹名]-列表归档结果"
|
||
```
|
||
|
||
只用已有 OCR 缓存重建:
|
||
|
||
```bash
|
||
python3 数据处理工作区/02_图片表格OCR归档.py \
|
||
--config 数据处理工作区/01_任务配置.json \
|
||
--input "待处理-[任务名]图片集群/[批次文件夹名]" \
|
||
--output "数据处理结果区/已处理-[任务名]图片集群/[批次文件夹名]-列表归档结果" \
|
||
--rebuild-from-cache
|
||
```
|
||
|
||
## 合并和入库
|
||
|
||
```bash
|
||
python3 数据处理工作区/04_合并批次结果.py --config 数据处理工作区/01_任务配置.json
|
||
```
|
||
|
||
如需同步 PostgreSQL:
|
||
|
||
```bash
|
||
export WORKFLOW_DB_HOST='数据库主机'
|
||
export WORKFLOW_DB_PORT='5432'
|
||
export WORKFLOW_DB_NAME='数据库名'
|
||
export WORKFLOW_DB_USER='数据库用户'
|
||
export WORKFLOW_DB_PASSWORD='数据库密码'
|
||
|
||
python3 数据处理工作区/05_同步PostgreSQL单表.py \
|
||
--input 数据处理结果区/合并_图片表格_结构化.json \
|
||
--schema 数据处理工作区/06_PostgreSQL建表结构.sql
|
||
```
|
||
|
||
## 输出文件
|
||
|
||
单批次输出:
|
||
|
||
- `图片表格_结构化.json`
|
||
- `图片表格_记录.jsonl`
|
||
- `图片表格_记录.csv`
|
||
- `复核报告.json`
|
||
- `重复主键报告.json`
|
||
- `缺少主键报告.json`
|
||
- `merged_images/`
|
||
- `raw_ocr/`
|
||
- `信息记录/汇总.json`
|
||
|
||
合并输出:
|
||
|
||
- `数据处理结果区/合并_图片表格_结构化.json`
|
||
- `数据处理结果区/合并_图片表格_记录.jsonl`
|
||
- `数据处理结果区/合并_图片表格_记录.csv`
|
||
- `数据处理结果区/信息记录/全局汇总.json`
|
||
- `数据处理结果区/信息记录/批次汇总.csv`
|
||
- `数据处理结果区/信息记录/重复主键报告.json`
|
||
- `数据处理结果区/信息记录/缺少主键报告.json`
|
||
|
||
## 注意
|
||
|
||
- 腾讯云密钥、数据库密码只放环境变量。
|
||
- `03_人工复核修正.json` 可能含真实业务数据,不要提交。
|
||
- `raw_ocr/` 和 `merged_images/` 是过程文件,建议保留在本地,便于复核和缓存重建。
|
||
- 当前 PostgreSQL 模板采用 `record_data jsonb` 保存业务字段;正式稳定后可把高频查询字段改成独立列。
|