# 益选-OCR订单处理系统 - 用户操作手册

## 界面功能介绍

### 主界面布局

#### 启动界面
系统启动时会显示一个简洁的启动界面，包含：
- **系统标题**：益选-OCR订单处理系统
- **版本信息**：显示当前系统版本
- **加载进度**：显示系统初始化进度

#### 主操作界面
主界面采用现代化设计风格，包含以下主要区域：

##### 顶部工具栏
- **系统标题**：显示在界面顶部中央
- **主题切换**：支持浅色/深色主题切换
- **帮助按钮**：访问用户手册和系统信息

##### 功能按钮区域
- **OCR识别按钮**：启动图片识别功能
- **Excel处理按钮**：处理OCR识别结果
- **采购单合并按钮**：合并多个采购单
- **完整流程按钮**：执行完整的处理流程
- **配置管理按钮**：打开系统配置界面

##### 状态栏
- **状态显示**：显示当前系统状态（就绪/处理中/完成）
- **进度条**：显示处理进度百分比
- **时间信息**：显示处理开始时间和耗时

##### 日志显示区域
- **实时日志**：显示处理过程的详细日志
- **颜色标识**：不同级别的日志使用不同颜色
- **滚动支持**：支持日志内容的滚动查看
- **清空功能**：可以清空当前日志内容

### 功能界面详解

#### OCR识别界面
当点击OCR识别按钮时，系统会：
1. 自动扫描`data/input`目录中的图片文件
2. 显示找到的图片文件数量
3. 开始批量OCR识别处理
4. 实时显示处理进度和结果

#### Excel处理界面
处理OCR结果时，系统会：
1. 读取OCR生成的Excel文件
2. 提取商品信息（条码、名称、规格、数量、单价）
3. 应用数据清洗和标准化规则
4. 生成标准格式的采购单

#### 采购单合并界面
合并功能界面提供：
1. 选择要合并的采购单文件
2. 显示合并进度和状态
3. 展示合并结果摘要
4. 提供合并后文件的快速访问

#### 配置管理界面
配置界面包含：
1. **基本设置**：输入输出目录配置
2. **API配置**：百度OCR API密钥设置
3. **性能设置**：批量处理参数配置
4. **高级设置**：其他高级参数配置

## 详细操作步骤

### 首次使用设置

#### 1. 系统安装和配置
**步骤1.1**：确保系统环境满足要求
- 操作系统：Windows 7/8/10/11，Linux，macOS
- Python版本：3.8或更高版本（如使用源码）

**步骤1.2**：获取百度OCR API密钥
1. 访问百度智能云官网（https://cloud.baidu.com/）
2. 注册并登录账号
3. 进入"文字识别"服务
4. 创建应用，获取API Key和Secret Key
5. 记录这两个密钥，后续配置需要使用

**步骤1.3**：配置系统参数
1. 打开`config.ini`文件
2. 在`[API]`部分填入获取的密钥：
```ini
[API]
api_key = 你的API密钥
secret_key = 你的Secret密钥
timeout = 30
max_retries = 3
retry_delay = 2
```

3. 配置输入输出路径：
```ini
[Paths]
input_folder = data/input
output_folder = data/output
temp_folder = data/temp
```

#### 2. 准备图片文件
**步骤2.1**：创建图片文件夹
在系统目录下确保存在以下文件夹：
- `data/input/` - 存放待处理的采购单图片
- `data/output/` - 存放处理结果

**步骤2.2**：图片质量要求
- **分辨率**：建议300DPI或更高
- **格式**：支持JPG、JPEG、PNG、BMP格式
- **大小**：单张图片不超过4MB
- **清晰度**：文字清晰，无模糊、反光

**步骤2.3**：图片命名规范
- 使用有意义的文件名，如"采购单_20250101.jpg"
- 避免使用特殊字符和空格
- 建议使用日期和序号进行命名

### 基本操作流程

#### 单张图片处理流程

**步骤1**：启动系统
1. 双击`OCR订单处理系统.exe`或在命令行运行`python 启动器.py`
2. 等待系统初始化完成（状态栏显示"就绪"）

**步骤2**：放置图片文件
1. 将采购单图片文件复制到`data/input/`目录
2. 确保图片格式正确，质量良好

**步骤3**：执行OCR识别
1. 点击"OCR识别"按钮
2. 系统会自动扫描输入目录
3. 在日志区域查看处理进度
4. 等待识别完成

**步骤4**：处理Excel结果
1. 点击"Excel处理"按钮
2. 系统会读取OCR生成的Excel文件
3. 提取商品信息并标准化
4. 生成标准采购单格式

**步骤5**：查看处理结果
1. 处理完成后，点击"打开输出目录"
2. 查看生成的Excel采购单文件
3. 核对商品信息是否正确

#### 批量处理流程

**步骤1**：准备多张图片
1. 将多个采购单图片放入`data/input/`目录
2. 确保所有图片都符合质量要求

**步骤2**：执行完整流程
1. 点击"完整流程"按钮
2. 系统会依次执行：
   - OCR识别所有图片
   - 处理所有Excel文件
   - 合并相同商品
3. 查看批量处理结果

**步骤3**：监控处理进度
1. 观察状态栏的进度条
2. 查看日志区域的详细信息
3. 如有错误，查看错误信息并处理

### 高级功能使用

#### 条码映射配置

**步骤1**：打开条码映射文件
1. 编辑`config/barcode_mappings.json`文件
2. 按照JSON格式添加映射规则

**步骤2**：配置映射规则
```json
{
  "原条码1": "目标条码1",
  "原条码2": "目标条码2",
  "6901234567890": "新条码123456"
}
```

**步骤3**：应用映射规则
1. 系统在处理时会自动应用映射
2. 原条码会被替换为目标条码
3. 适用于不同系统的条码适配

#### 自定义模板使用

**步骤1**：准备模板文件
1. 在`templates/`目录放置Excel模板
2. 模板应包含标准的采购单格式

**步骤2**：配置模板
1. 在`config.ini`中配置模板：
```ini
[Templates]
purchase_order = 银豹-采购单模板.xls
```

**步骤3**：使用模板
1. 系统生成采购单时会使用指定模板
2. 确保模板格式与系统要求匹配

#### 性能调优

**步骤1**：调整批量处理参数
在`config.ini`中配置：
```ini
[Performance]
max_workers = 4      # 最大工作线程数
batch_size = 5       # 每批处理文件数
skip_existing = true # 跳过已处理文件
```

**步骤2**：优化处理策略
- 根据电脑性能调整线程数
- 大批量处理时适当增加批大小
- 启用跳过已处理文件以提高效率

**步骤3**：监控资源使用
- 观察CPU和内存使用情况
- 根据系统资源调整参数
- 避免设置过高的并发数

## 常见问题解答

### Q1: 系统无法启动怎么办？
**A1**: 
1. 检查Python环境是否正确安装（源码版本）
2. 确认所有依赖库已安装：`pip install -r requirements.txt`
3. 检查是否有足够的系统权限
4. 查看错误日志获取详细信息

### Q2: OCR识别失败如何处理？
**A2**:
1. 检查图片质量是否满足要求
2. 确认图片格式是否支持
3. 验证百度OCR API密钥是否正确
4. 检查网络连接是否正常
5. 尝试降低图片分辨率或压缩图片大小

### Q3: 识别结果不准确怎么办？
**A3**:
1. 提高图片扫描分辨率
2. 确保图片光线充足，无反光
3. 检查采购单格式是否规范
4. 手动校正重要的商品信息
5. 考虑使用更高质量的扫描设备

### Q4: 批量处理时系统卡顿？
**A4**:
1. 降低批量处理的并发线程数
2. 减小每批处理的文件数量
3. 关闭其他占用资源的程序
4. 增加系统内存或使用更高配置的电脑

### Q5: 生成的Excel文件打不开？
**A5**:
1. 确认已安装Excel或兼容软件
2. 检查文件是否完整生成
3. 验证文件路径是否正确
4. 尝试使用不同版本的Excel打开
5. 检查是否有足够的磁盘空间

### Q6: 条码映射不生效？
**A6**:
1. 检查JSON文件格式是否正确
2. 确认条码映射文件路径正确
3. 验证原条码和目标条码格式
4. 重启系统使配置生效
5. 检查日志中是否有映射相关的错误信息

### Q7: 处理速度很慢怎么办？
**A7**:
1. 优化网络连接，使用稳定的网络
2. 调整批量处理参数
3. 使用本地缓存减少API调用
4. 考虑使用更高性能的硬件
5. 分批处理大量文件，避免一次性处理过多

### Q8: 系统显示"未找到可合并的文件"？
**A8**:
1. 确认输出目录中有Excel文件
2. 检查文件格式是否符合要求
3. 验证文件是否包含有效的商品数据
4. 确保文件没有被其他程序锁定

## 故障排除指南

### 系统启动问题

#### 症状：双击程序无反应
**可能原因**：
1. 系统缺少运行库
2. 防病毒软件阻止运行
3. 程序文件损坏

**解决方案**：
1. 以管理员身份运行程序
2. 临时关闭防病毒软件
3. 重新下载或编译程序
4. 检查系统事件查看器中的错误日志

#### 症状：显示缺少DLL文件
**可能原因**：
1. 系统缺少Visual C++运行库
2. .NET Framework版本过低

**解决方案**：
1. 安装Visual C++ 2015-2022运行库
2. 更新.NET Framework到最新版本
3. 安装所有Windows更新

### OCR识别问题

#### 症状：所有图片都识别失败
**排查步骤**：
1. **检查API密钥**：
   - 确认config.ini中的API密钥正确
   - 验证密钥是否过期或被禁用
   - 检查百度智能云账户余额

2. **检查网络连接**：
   - 测试能否访问百度智能云服务
   - 检查防火墙设置
   - 验证代理设置（如使用代理）

3. **检查图片文件**：
   - 确认图片格式正确
   - 验证图片文件未损坏
   - 检查文件大小是否超限

#### 症状：部分图片识别失败
**可能原因**：
1. 图片质量问题
2. 图片格式不支持
3. 文件大小超过限制

**解决方案**：
1. 重新扫描或拍摄图片
2. 转换图片格式为支持的格式
3. 压缩或调整图片大小
4. 手动处理失败的图片

### Excel处理问题

#### 症状：Excel文件生成失败
**排查方法**：
1. **检查磁盘空间**：确保有足够的可用空间
2. **验证文件权限**：确认有写入权限
3. **检查Excel格式**：确认模板文件格式正确
4. **查看错误日志**：获取详细的错误信息

#### 症状：商品信息提取错误
**常见原因**：
1. Excel格式不规范
2. 表头识别错误
3. 数据格式不统一

**解决方法**：
1. 标准化Excel格式
2. 手动指定表头行
3. 使用数据清洗功能
4. 调整提取规则

### 合并功能问题

#### 症状：合并后商品信息丢失
**可能原因**：
1. 商品关键信息缺失
2. 合并规则设置不当
3. 文件格式不兼容

**解决方案**：
1. 确保所有商品都有条码或名称
2. 调整合并规则配置
3. 统一文件格式和结构

### 性能问题

#### 症状：系统响应缓慢
**优化建议**：
1. **减少并发数**：降低max_workers值
2. **减小批大小**：减少batch_size值
3. **清理临时文件**：定期清理temp目录
4. **增加内存**：关闭其他占用内存的程序

#### 症状：处理过程中崩溃
**排查步骤**：
1. 检查系统内存使用情况
2. 查看Windows事件日志
3. 分析错误日志文件
4. 逐步减少处理量测试

## 最佳实践建议

### 日常使用建议

#### 1. 文件管理最佳实践
- **分类存储**：按日期或供应商分类存储图片文件
- **规范命名**：使用统一的文件命名规则
- **定期清理**：定期清理已处理的文件和临时文件
- **备份重要数据**：定期备份重要的采购单数据

#### 2. 图片质量优化
- **扫描设置**：使用300DPI或更高分辨率扫描
- **光线控制**：确保充足均匀的光线
- **避免反光**：使用防反光材料或调整角度
- **保持平整**：确保采购单平整无折叠

#### 3. 处理效率提升
- **批量操作**：尽量使用批量处理功能
- **合理分批**：将大量文件分成小批次处理
- **预处理检查**：处理前检查图片质量
- **参数调优**：根据硬件配置调整处理参数

### 系统维护建议

#### 1. 定期维护任务
- **日志清理**：定期清理旧的日志文件
- **临时文件清理**：清理temp目录中的临时文件
- **配置备份**：定期备份配置文件
- **更新检查**：关注系统更新和补丁

#### 2. 性能优化
- **硬件升级**：根据需要升级内存和CPU
- **存储优化**：使用SSD提高文件读写速度
- **网络优化**：确保稳定的网络连接
- **系统优化**：关闭不必要的服务和程序

#### 3. 安全建议
- **API密钥保护**：妥善保管API密钥，不要泄露
- **文件权限**：设置适当的文件访问权限
- **数据加密**：对敏感数据进行加密存储
- **定期备份**：建立定期备份机制

### 业务流程优化

#### 1. 采购流程整合
- **标准化格式**：统一采购单格式和标准
- **自动化集成**：与其他业务系统集成
- **数据验证**：建立数据质量检查机制
- **异常处理**：制定异常情况处理流程

#### 2. 质量控制
- **准确性检查**：定期抽查处理结果的准确性
- **性能监控**：监控系统处理性能指标
- **错误分析**：分析常见错误类型和原因
- **持续改进**：根据使用情况优化流程

#### 3. 团队协作
- **权限管理**：根据角色设置不同的操作权限
- **操作规范**：制定标准化的操作流程
- **培训体系**：建立用户培训和技能提升机制
- **经验分享**：定期分享使用经验和技巧

### 故障预防

#### 1. 预防措施
- **定期测试**：定期测试系统各项功能
- **监控告警**：建立系统监控和告警机制
- **容量规划**：根据业务量规划系统容量
- **应急预案**：制定系统故障应急预案

#### 2. 问题响应
- **快速定位**：建立问题快速定位和诊断机制
- **分级处理**：根据问题严重程度分级处理
- **升级机制**：建立问题升级和汇报机制
- **恢复流程**：制定系统恢复和重启流程

通过遵循这些最佳实践建议，用户可以更高效、更稳定地使用益选-OCR订单处理系统，获得更好的使用体验和业务价值。
