Tesseractjs简介
Tesseract.js 是一个基于 Tesseract OCR 引擎的开源 JavaScript 库,用于在浏览器和 Node.js 环境中执行光学字符识别 (OCR)。它的特点是无需依赖服务器端支持,完全在客户端执行 OCR 操作。
跨平台支持:支持 100 多种语言的纯 JavaScript OCR 库;
GitHub地址;
Tesseractjs主要特性
跨平台支持
- 可以在浏览器和 Node.js 中运行。
- 支持现代浏览器,包括 Chrome、Firefox、Safari 等。
多语言支持:
- 默认支持 100 多种语言。
- 允许加载不同的语言数据(如中文、英文等)。
高性能:
- 使用 WebAssembly (WASM) 技术实现高效的计算。
- 支持多线程处理,利用 worker 加速 OCR 过程。
易用性:
- 提供简单易懂的 API 接口。
- 能够提取图片中的文字,支持图片预处理(如旋转、二值化)。
Tesseractjs基本用法
// cdn
<script src='https://cdn.jsdelivr.net/npm/tesseract.js@5/dist/tesseract.min.js'></script>
// 下载
npm install tesseract.js
yarn add tesseract.js
// Node示例
const Tesseract = require('tesseract.js');
// 识别图片中的文本
Tesseract.recognize(
'path/to/image.png', // 图片路径
'eng', // 语言代码
{
logger: info => console.log(info), // 可选:日志输出
}
).then(({ data: { text } }) => {
console.log('识别的文本:', text);
}).catch(error => {
console.error('OCR 失败:', error);
});
// JS示例
import { createWorker } from 'tesseract.js';
(async () => {
const worker = await createWorker('eng');
const ret = await worker.recognize('https://tesseract.projectnaptha.com/img/eng_bw.png');
console.log(ret.data.text);
await worker.terminate();
})();