x-ocr-s 离线文档识别
离线 OCR。通用文本识别中文 / 日文,另有身份证结构化识别与号码校验。
兼容性
| Harmony | IOS | Android | WEB | 小程序 |
|---|---|---|---|---|
| 支持 | 支持 | 支持 | 支持 | 支持 |
调用
ts
import { xOcrPare, xOcrIdCard } from "@/uni_modules/x-ocr-s"
xOcrPare({
path: imgPath,
langs: "zh",
success: (res) => {
console.log(res.text)
}
})
xOcrIdCard({
path: imgPath,
success: (res) => {
if (res.idInfo.valid) {
console.log(res.fields.name, res.idInfo.number)
}
}
})方法
| 名称 | 需要 | 说明 |
|---|---|---|
| xOcrPare | path、langs(zh / ja),可选 zhixingdu | 通用文本识别,返回 text / textBlock |
| xOcrIdCard | path,可选 zhixingdu | 身份证结构化识别,返回正反面、字段和号码校验 |
参数
xOcrPare / XOcrOpts
| 字段 | 说明 | 默认 |
|---|---|---|
| path | 图片路径 | 必填 |
| langs | zh / ja | 必填 |
| zhixingdu | 置信度 0~1,仅 Android | 0.5 |
| success / fail / complete | 回调 | - |
XOcrResult:text 纯文本行,textBlock 带定位的文本块。
xOcrIdCard
| 字段 | 说明 | 默认 |
|---|---|---|
| path | 图片路径 | 必填 |
| zhixingdu | 仅 Android | 0.5 |
| success / fail / complete | 回调 | - |
XOcrIdCardResult:side(front / back / unknown)、fields(姓名、民族、住址、号码等)、idInfo(号码校验与派生生日/性别/年龄)、warnings、lines。
错误码见插件内说明,常见 1001–1006。
平台差异
zhixingdu仅 Android。- 微信仅支持中文,日文返回
1006。
版本
版权归https://xui.tmui.design你不得修改及二次开发,仅供TMUI4会员商用使用。不得转给非VIP会员使用,一经查实数倍赔偿,并追究法律责任。
更新日志
1.1.0(2026-08-05)
- 新增身份证识别
xOcrIdCard(),五端行为一致:各端跑自己的通用中文 OCR,再由共享层utssdk/libs/idcard.uts做关键字锚点解析与号码校验。只负责识别与校验,取图仍由调用方 (相机插件、相册等)提供路径,不做卡面检测与透视矫正。 - 结构化输出姓名、性别、民族、出生、住址、公民身份号码(人像面)与签发机关、有效期限 (国徽面),并自动判定证件面。
- 号码校验实现 GB 11643:加权校验码、15 位一代证补世纪升位、出生日期合法性(含闰年)、 省级行政区划码。生日 / 性别 / 年龄一律从号码派生,OCR 直读值只用于交叉比对, 不一致时写入
warnings。号码校验失败不算失败,仍回调success并附带原因。 - 容错:合并行版式(如「性别男民族汉」)、住址跨行合并、号码带空格、形近字回救 (O→0、I→1、S→5 等,由校验码兜底防误判)、号码锚点被糊掉时退化为全文扫描。
- 新增微信小程序端支持,OCR 走微信内置 VisionKit(基础库 2.27.0+),零模型零包体。 该端
langs仅支持zh,且需用「预览」运行——真机调试模式下 VisionKit 会启动失败。 - 新增错误码 1005(未识别到身份证信息)、1006(小程序端仅支持中文)。
1.0.9(2025-10-15)
- 安卓,ios,鸿蒙,web 4平台删除了下载,选择识别,统一由外部自行提供图片路径识别,并且采用dcloud api调用风格,已使用的用户请务必阅读使用文档后再升级使用。切不可直接替换升级。
- 升级后,事件处理,错误机制显示更清晰。
- 同时安卓和ios升级了插件版本,有效提升了识别率,同时安卓仅支持6.0+,Ios仅15.5+,鸿蒙21+
1.0.8(2025-08-17)
- 兼容鸿蒙原生
1.0.7(2025-02-14)
- 增加对web的支持,web使用时需要网络加载模型数据
1.0.6(2024-12-18)
- ios,安卓添加本地路径识别函数localFilePathImageBuilder,可自己循环批量处理.
1.0.5(2024-11-01)
- 修复ios可能的兼容问题
1.0.4(2024-10-31)
- ios没对齐安卓,失败不会返回回调.
1.0.3(2024-10-27)
升级了调用方式,使得安卓,ios用同样的方式调用,不再区别,统一使用callback,并且在回调中携带回了坐标,以便让大家通过坐标计算识别比例或者绘制位置 .并且文本块统一为行返回(之前是文本块返回,但在源始数据中还是块和坐标)
1.0.2(2024-09-24)
- 各个函数追回了个参数language:string|null,可以是zh,ja,两种语言中文和日文识别。
1.0.1(2024-05-04)
- 更新支持IOS端,需要IOS12.0(含)+
1.0.0(2024-04-10)
- ocr文本识别,ai模型识别,离线识别。
- tmui4.0种子用户,可免费赠送源码,无需购买
