# ocr.xml 配置文件说明

本文档介绍 Spire.OCR 所使用的 `ocr.xml` 配置文件。通过该文件，你可以自定义模型数据路径、依赖库路径以及待识别的语言类型（包括中文、繁体中文、英文、法语、德语、日语、韩语）。

## 配置参数

### modelPath（模型路径）

- **作用**：指定 OCR 引擎使用的语言模型数据的存储位置。

- **类型**：模型目录的相对路径（相对于`ocr.xml` 文件）或绝对路径。

- **默认值**：`"model"`，即 `ocr.xml` 文件所在的目录。

- **修改说明**：你可以修改该路径，指向存储模型数据的其他目录。请确保新路径正确无误，且模型数据与 OCR 引擎兼容。

### libPath（库路径）

- **作用**：指定 OCR 引擎所需依赖库的存储路径。

- **类型**：依赖库目录的相对路径（相对于 `ocr.xml` 文件）或绝对路径。

- **默认值**：`"lib"`，即 `ocr.xml` 文件所在的目录。

- **修改说明**：若你的依赖库存储在其他位置，可修改此路径。请验证路径的准确性，并确保所有必要的依赖库均已存在。

### lang（语言类型）

- **作用**：设置 OCR 引擎的待识别语言，支持系统预设语言包及用户自定义语言模型。

- **格式**：模型目录下对应语言包（或自定义模型）的文件夹名称。

- **默认值**：`"english"`（英文）。

- **修改说明**：将该值修改为你需要的语言包/自定义模型文件夹名称即可。请确保 `modelPath` 指定的目录下，存在与该值同名的文件夹，且文件夹内包含完整的模型数据。

- **版本语言包变更及自动匹配规则**：早期版本支持的语言包包括 `Chinese`（中文）、`Chinesetraditional`（繁体中文）、`English`（英文）、`French`（法语）、`German`（德语）、`Japan`（日语）、`Korean`（韩语）；当前版本仅保留核心语言包：`ch`、`english`、`korean`、`latin`。为保障兼容性，程序新增自动匹配逻辑：若在 `lang` 字段中设置早期版本的语言包名称（如 `Chinese`、`Chinesetraditional`、`Japan`），程序会优先检查模型目录中是否存在对应名称的文件夹；若不存在，则自动匹配至 `ch`语言包进行识别（因 `ch` 支持中英日混合识别，可覆盖上述语种需求）；若设置 `French` 或 `German`，程序优先检查对应文件夹，若不存在则自动匹配至 `latin` 语言包（`latin` 支持英文、法文、德文等多语种识别）。

- **当前支持的预设语言识别包及能力**：
- `ch`：支持中英日混合识别，涵盖简体中文、中文拼音、繁体中文、英文、日文

- `english`：仅支持英文识别

- `korean`：仅支持韩语识别

- `latin`：支持多语种识别，涵盖英文、法文、德文、拉丁文

- **自定义语言识别模型说明**：平台支持用户自定义语言识别模型。若需使用自定义模型，无需额外修改复杂配置，仅需在 `modelPath` 指定的模型目录下，新建一个专属文件夹（文件夹名称可自定义，如 `"custom-lang"`），并将自定义模型的完整数据放入该文件夹。之后在 `lang` 字段中填写此自定义文件夹名称，即可完成自定义模型的配置与使用。

## 重要注意事项

1. **修改限制**：请勿修改`modelPath`、`libPath` 和 `lang` 之外的任何字段。修改 `platform`（平台）、`version`（版本）等其他参数，可能导致 OCR 引擎运行异常或识别结果错误。

2. **路径灵活性**：`modelPath` 和 `libPath` 均支持相对路径与绝对路径，便于你灵活管理 OCR 相关资源。

3. **模型/语言包可用性**：修改 `lang` 字段前，请确认对应的预设语言包或自定义模型文件夹已存在于 `modelPath` 指定的目录中，且文件夹内包含完整的模型数据（预设包需确保语言包完整，自定义模型需确保符合引擎兼容规范）。例如设置 `lang="ch"` 时，需确保模型目录下存在名为 `"ch"` 的语言包文件夹；设置自定义模型时，需确保 `lang` 取值与自定义文件夹名称完全一致。

4. **依赖库目标平台**：支持的目标平台包括 Windows X64、macOS 10.15、Linux Ubuntu 18.04 LTS。使用时，请确保所用依赖库的版本不低于上述目标平台要求。

5. **混合语种识别说明**：使用 `ch` 或 `latin` 预设语言包时，OCR 引擎会自动识别对应范围内的所有语种，无需单独切换，适合包含多种语言的文本识别场景。

6. **自定义模型兼容性**：自定义模型需确保与当前版本 Spire.OCR 引擎兼容，建议基于官方提供的模型模板进行开发，避免因模型格式不兼容导致识别失败。