基于 PaddleOCR 的纯离线 OCR 识别插件
不依赖任何云服务,所有识别在本地完成,隐私安全有保障。
背景
在移动应用开发中,OCR 识别是一个常见需求,尤其是证件识别场景:身份证实名认证、银行卡绑定、驾驶证信息录入等。
然而,市面上大多数 OCR 方案都依赖云服务 API,存在以下问题:
- 成本高 - 按调用次数收费,量大时费用惊人
- 需要网络 - 离线场景无法使用
- 隐私风险 - 敏感证件数据上传到第三方服务器
为了解决这些痛点,开发了 lf-OCR —— 一款基于 PaddleOCR 的纯离线 OCR 识别插件,专为 uni-app 多端开发设计。
核心特性
| 特性 | 说明 |
|---|---|
| 纯离线 | 所有模型和依赖本地化,无需网络即可使用 |
| 高性能 | 基于 PaddleOCR,识别速度快、准确率高 |
| 中文优化 | 专为中文场景优化,识别效果出色 |
| 多平台 | 支持 H5、App (Android/iOS) |
| 证件识别 | 内置身份证、银行卡、驾驶证解析模板 |
| 智能验证 | 自动验证证件有效性(校验码、有效期等) |
| 自动识别 | 智能判断证件正反面,无需手动指定 |
| 易于扩展 | 支持自定义模型和识别模板 |
技术架构
lf-OCR
├── 核心引擎 (PaddleOCR + ONNX Runtime + OpenCV.js)
├── 证件解析模板 (身份证/银行卡/驾驶证/通用)
├── 校验工具 (身份证号/银行卡号/手机号等)
└── 格式化工具 (日期/金额/手机号等)
整个插件大小约 35MB,包含:
- ppocr_det.onnx - 文字检测模型
- ppocr_rec.onnx - 文字识别模型
- OpenCV.js - 图像处理
- ONNX Runtime - 模型推理
快速上手
安装
通过 npm 安装或手动复制到 uni_modules 目录。
基础使用
import lfOCR from "@/uni_modules/lf-OCR/index.js";
// 初始化引擎
await lfOCR.init({
: .(, msg),
});
result = lfOCR.(imagePath, );
(result.) {
.(, result.);
.(, result.);
.(, result.);
}

