Tesseract.js是流行的面向純Javascript的OCR引擎的。該庫支持100多種語言(中文支持),自動文本方向和腳本檢測,用於讀取段落,單詞和字符邊界框的簡單介面。Tesseract.js可以在瀏覽器和具有NodeJS伺服器上運行。
https://github.com/naptha/tesseract.js
# For v2版本
npm install tesseract.js
yarn add tesseract.js
# For v1版本
npm install tesseract.js@1
yarn add tesseract.js@1
可以配合webpack或者直接在瀏覽器中引用
import Tesseract from 'tesseract.js';
Tesseract.recognize(
'url.png',
'eng',
{ logger: m => console.log(m) }
).then(({ data: { text } }) => {
console.log(text);
})
import { createWorker } from 'tesseract.js';
const worker = createWorker({
logger: m => console.log(m)
});
(async () => {
await worker.load();
await worker.loadLanguage('eng');
await worker.initialize('eng');
const { data: { text } } = await worker.recognize('url.png');
console.log(text);
await worker.terminate();
})();
你可以用在你想使用的地方,官方提供了10種使用方式,分別是
https://github.com/jeromewu/tesseract.js-offline
https://github.com/jeromewu/tesseract.js-electron
https://github.com/jeromewu/tesseract.js-custom-traineddata
https://github.com/jeromewu/tesseract.js-chrome-extension
Chrome Extension #2: https://github.com/fxnoob/image-to-text
https://github.com/jeromewu/tesseract.js-vue-app
https://github.com/jeromewu/tesseract.js-react-app
https://github.com/jeromewu/tesseract.js-angular-app
https://github.com/jeromewu/tesseract.js-typescript
https://github.com/jeromewu/tesseract.js-video
在日常的開發中OCR的使用場景或許還是蠻多的,如果你剛好有這種需求,不妨試一試Tesseract.js,enjoy it!