更新记录

0.0.5(2025-12-09)

  • feat: 优化ios

0.0.4(2025-12-09)

  • chore: 更新文档

0.0.1(2025-03-13)

  • init
查看更多

平台兼容性

uni-app(4.83)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
- 5.0
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 快应用-华为 快应用-联盟
- - - - - - - - - - -

uni-app x(4.82)

Chrome Safari Android iOS 鸿蒙 微信小程序
5.0 -

lime-ocr 文字识别组件

一个功能强大的文字识别组件,支持多语言识别和结构化结果返回。可用于图片文字提取、文档扫描、名片识别、表格识别等多种场景。组件提供了简单易用的API,使开发者能够方便地在应用中集成OCR功能,提升用户体验。

文档链接

📚 组件详细文档请访问以下站点:

安装方法

  1. 在uni-app插件市场中搜索并导入lime-ocr
  2. 导入后在页面引入相关方法
  3. 需要自定义基座才能使用

Web端额外依赖

Web端需要安装Tesseract.js依赖库:

npm install tesseract.js

代码演示

基础用法

识别图片中的文字并获取结果:

// 非 uniappx 不需要导入类型 OCRRecognizeOptions
import { recognizeImage, type OCRRecognizeOptions } from '@/uni_modules/lime-ocr'

const onClick = () => {
  recognizeImage({
    // language: 'zh', // 默认为中文
    url: '/static/ocr/231846.png', // 支持临时地址,缓存地址。如果是网络地址请先下载。
    success(res) {
      console.log('识别文本:', res.text)
      // console.log('文本块结构:', res.textBlocks)
    },
    fail(err) {
      console.log('识别失败:', err)
    }
  } as OCRRecognizeOptions) // 非uniappx 不需要强制类型 OCRRecognizeOptions
}

多语言识别

通过设置language参数识别不同语言的文字:

import { recognizeImage } from '@/uni_modules/lime-ocr'

// 识别日语文字
recognizeImage({
  language: 'ja', // 鸿蒙和web不支持设置,默认中英
  url: '/static/ocr/japanese_text.jpg',
  success(res) {
    console.log('日语识别结果:', res.text)
  }
})

// 识别韩语文字
recognizeImage({
  language: 'ko',
  url: '/static/ocr/korean_text.jpg',
  success(res) {
    console.log('韩语识别结果:', res.text)
  }
})

// 识别梵文
recognizeImage({
  language: 'devanagari',
  url: '/static/ocr/devanagari_text.jpg',
  success(res) {
    console.log('梵文识别结果:', res.text)
  }
})

获取结构化结果

处理识别后的结构化数据:

import { recognizeImage } from '@/uni_modules/lime-ocr'

recognizeImage({
  url: '/static/ocr/document.jpg',
  success(res) {
    // 获取完整文本
    console.log('完整文本:', res.text)

    // 处理结构化数据
    const textBlocks = res.textBlocks
    textBlocks.forEach((block, blockIndex) => {
      console.log(`段落 ${blockIndex + 1}:`, block.text)

      block.lines.forEach((line, lineIndex) => {
        console.log(`  行 ${lineIndex + 1}:`, line.text)

        line.elements.forEach((element, elementIndex) => {
          console.log(`    元素 ${elementIndex + 1}:`, element.text)
          console.log(`    位置:`, element.bounds)
        })
      })
    })
  }
})

快速预览

导入插件后,可以直接使用以下标签查看演示效果:

<!-- 代码位于 uni_modules/lime-ocr/components/lime-ocr -->
<lime-ocr />

插件标签说明

标签名 说明
l-ocr 组件标签
lime-ocr 演示标签

详细配置请参考官方文档:Vue Composition API

API文档

recognizeImage 方法

参数 说明 类型 必填
options 识别选项 OCRRecognizeOptions

OCRRecognizeOptions 选项

参数名 类型 必填 说明
url string 要识别的图片URL,支持本地路径、临时路径和缓存路径
language 'zh' | 'ja' | 'ko' | 'devanagari' 识别语言类型,默认为中文 'zh'
success (result: OCRResult) => void 识别成功的回调函数
fail (error: any) => void 识别失败的回调函数

OCRResult 结果对象

字段 类型 说明
text string 合并后的完整识别文本
textBlocks TextBlock[] 结构化识别结果(多级结构)
errMsg string 结果状态信息

TextBlock 文本块结构

字段 类型 说明
text string 段落文本
lines Line[] 行文本数组

Line 行结构

字段 类型 说明
text string 行文本
elements Element[] 元素数组

Element 元素结构

字段 类型 说明
text string 单词或字符
bounds Bounds 元素在图片中的位置

Bounds 位置结构

字段 类型 说明
left number 左边界坐标
top number 上边界坐标
right number 右边界坐标
bottom number 下边界坐标

错误码说明

错误码 说明
9010001 图片加载失败
9010002 文字识别失败
9010003 不支持的语言类型
9010004 路径不存在

功能特点

  • 支持多种语言识别:中文、日语、韩语、梵文等
  • 提供结构化识别结果,包含段落、行、单词等多级结构
  • 返回文本元素在图片中的位置信息
  • 简单易用的API,降低OCR技术使用门槛
  • 适用于多种文字识别场景

常见问题

  • 网络图片需要先下载到本地再进行识别
  • 图片质量对识别结果有较大影响,建议使用清晰图片
  • 不同语言的识别准确率可能有所差异
  • 复杂排版的文档识别效果可能不如纯文本理想

支持与赞赏

如果你觉得本插件解决了你的问题,可以考虑支持作者:

支付宝赞助 微信赞助

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

暂无用户评论。