如何让 Tesseract 与 Angular2+ 一起工作?
How to get Tesseract to work with Angular2+?
我正在尝试在我的一个组件中使用 Tesseract 对文件执行 ocr。
.ts:
import * as Tesseract from 'tesseract.js';
fileToUpload: File = null;
handleFileInput(files: FileList) {
this.fileToUpload = files.item(0);
}
imageOcr() {
Tesseract.recognize(this.fileToUpload)
.progress(message => console.log(message))
.catch(err => console.error(err))
.then(res => console.log(res))
.finally(resultOrError => console.log(resultOrError));
}
.html
<div>
<h6>Local Image OCR</h6>
<input type="file" accept=".jpg,.png,.jpeg,.webp" (change)="handleFileInput($event.target.files)">
<button (click)="imageOcr()">click</button>
</div>
我关注了,
然而这个错误显示
"blob:http://localhost:4200/65999042-8757-4264-b92d-ed5e0a0e4c27:1 Uncaught DOMException: Failed to execute 'importScripts' on 'WorkerGlobalScope': The script at 'http://localhost:4200/dist/worker.dev.js?nocache=qf0eq67rus' failed to load.
at blob:http://localhost:4200/65999042-8757-4264-b92d-ed5e0a0e4c27:1:1"
我应该怎么做才能完成这项工作?
如果其他人遇到此问题,这是我找到的解决方案:tesseract typescript wrapper。
不需要使用另一个 typescript 包装器依赖项,当你不用它也可以做到的时候。
您需要安装实际的 javascript 模块:
npm install tesseract.js --save
同时安装@types 声明:
npm install @types/tesseract.js --save
最后执行以下导入操作:
import * as Tesseract from 'tesseract.js'
这样用
let filename = 'assets/img/abcdefg.jpg'
Tesseract.recognize(filename)
.progress(function (p) { console.log('progress', p) })
.catch(err => console.error(err))
.then(function (result) {
console.log("result ======<<<<>>>>>");
console.log(result.text)
})
我正在尝试在我的一个组件中使用 Tesseract 对文件执行 ocr。
.ts:
import * as Tesseract from 'tesseract.js';
fileToUpload: File = null;
handleFileInput(files: FileList) {
this.fileToUpload = files.item(0);
}
imageOcr() {
Tesseract.recognize(this.fileToUpload)
.progress(message => console.log(message))
.catch(err => console.error(err))
.then(res => console.log(res))
.finally(resultOrError => console.log(resultOrError));
}
.html
<div>
<h6>Local Image OCR</h6>
<input type="file" accept=".jpg,.png,.jpeg,.webp" (change)="handleFileInput($event.target.files)">
<button (click)="imageOcr()">click</button>
</div>
我关注了
"blob:http://localhost:4200/65999042-8757-4264-b92d-ed5e0a0e4c27:1 Uncaught DOMException: Failed to execute 'importScripts' on 'WorkerGlobalScope': The script at 'http://localhost:4200/dist/worker.dev.js?nocache=qf0eq67rus' failed to load.
at blob:http://localhost:4200/65999042-8757-4264-b92d-ed5e0a0e4c27:1:1"
我应该怎么做才能完成这项工作?
如果其他人遇到此问题,这是我找到的解决方案:tesseract typescript wrapper。
不需要使用另一个 typescript 包装器依赖项,当你不用它也可以做到的时候。
您需要安装实际的 javascript 模块:
npm install tesseract.js --save
同时安装@types 声明:
npm install @types/tesseract.js --save
最后执行以下导入操作:
import * as Tesseract from 'tesseract.js'
这样用
let filename = 'assets/img/abcdefg.jpg' Tesseract.recognize(filename) .progress(function (p) { console.log('progress', p) }) .catch(err => console.error(err)) .then(function (result) { console.log("result ======<<<<>>>>>"); console.log(result.text) })