electron本地OCR实现

使用tesseract.js - npm (npmjs.com)

官方demo:GitHub - Balearica/tesseract.js-electron: An example to use tesseract.js in electron

目录结构:

javascript 复制代码
// 引入
<script type="module" src="./ocr/tesseract.js"></script>

// 使用
async function ocr() {
    const worker = await Tesseract.createWorker("chi_sim", 1, {
      workerPath: "./ocr/worker.js", langPath: "./lang-data", corePath: "tesseract-core.wasm.js", logger: m => console.log(m), gzip: true,
      workerBlobURL: false
    });
    const ret = await worker.recognize('./images/test.png');
    console.log(ret.data.text);
    alert(ret.data.text);
    await worker.terminate();
  }

需要注意的地方:

1. 三个文件都可以npm install tesseract.js后在node_modules中找到

2. 语言包下载地址: tessdata/4.0.0_best/chi_sim.traineddata.gz at gh-pages · naptha/tessdata · GitHub

3. langPath与corePath的文件位置都是基于workerPath的相对路径

4. workerBlobURL要写false

5. 语言包若未经过解压gzip写true

相关推荐
用户938515635072 小时前
React Router 进阶:路由守卫、登录鉴权与状态传递
前端·javascript·全栈
kyriewen2 小时前
我重写了自己用了两年的防抖节流Hook——发现里面藏着3个隐藏bug
前端·javascript·面试
oradh2 小时前
Oracle RAC OCR维护操作总结
数据库·oracle·ocr·rac ocr维护·ocr维护·vote disk
漂流瓶jz2 小时前
Webpack开发环境:观察模式/webpack-dev-server/HMR热更新
前端·javascript·webpack
小爬的老粉丝2 小时前
Vue 3 文件预览生产排障:Worker/WASM 404、鉴权 Blob 与子路径
javascript·vue.js·wasm
亲亲小宝宝鸭3 小时前
离谱架构系列——我在祖传代码里发现了【智子】
javascript
触底反弹3 小时前
🚀 20 行代码手写前端路由 + React Router 核心 API 一篇搞定!
前端·javascript·react.js
布兰妮甜3 小时前
Vue 状态管理选型:Pinia 完整实战,对比 Vuex,模块化持久化
前端·javascript·vue.js·pinia·vuex
labixiong4 小时前
async/await 到底是不是 Generator 的语法糖?手写执行器,Babel 编译产物里藏着答案
前端·javascript·babel
windliang4 小时前
Claude Code 源码分析(六):上下文的发现、注入与压缩
前端·javascript·人工智能