nativescript-ocr
光学字符识别 - 由Tesseract提供支持
npm i --save nativescript-ocr

NativeScript OCR

Build Status NPM version Downloads Twitter Follow

光学字符识别 - 由Tesseract提供支持

安装

tns plugin add nativescript-ocr

设置

您需要添加语言文件以帮助Tesseract识别您提供的图像中的文本。

在此下载tessdata文件的3.04.00版本,并将您所需的语言添加到您的应用程序的app/tesseract/tessdata/文件夹中。

注意,如果您的语言(如英语:有9个文件匹配eng.*),请将所有这些文件复制到该文件夹中。

iOS

iOS在app/App_Resources/iOS中搜索tessdata文件夹,但您不必复制文件夹,而是可以创建一个符号链接

cd app/App_Resources/iOS
ln -s ../../tesseract/tessdata

API

retrieveText

JavaScript

这是一个使用默认设置的简单示例,有关更详细的示例,请查看下面的TypeScript代码。

var OCRPlugin = require("nativescript-ocr");
var ocr = new OCRPlugin.OCR();

ocr.retrieveText({
image: myImage
}).then(
function (result) {
console.log("Result: " + result.text);
},
function (error) {
console.log("Error: " + error);
}
);

TypeScript

此示例展示了如何使用所有可能的(但可选的)选项来传递给retrieveText

import { OCR, RetrieveTextResult } from "nativescript-ocr";
import { ImageSource } from "image-source";

export Class MyOCRClass {
private ocr: OCR;

constructor() {
this.ocr = new OCR();
}

doRecognize(): void {
let img: ImageSource = new ImageSource();

img.fromFile("~/samples/scanned.png").then((success: boolean) => {
if (success) {
this.ocr.retrieveText({
image: img,
whitelist: "ABCDEF", // you can include only certain characters in the result
blacklist: "0123456789", // .. or you can exclude certain characters from the result
onProgress: (percentage: number ) => {
console.log(`Decoding progress: ${percentage}%`);
}
}).then(
(result: RetrieveTextResult) => {
this.set(HelloWorldModel.BUSY_KEY, false);
console.log(`Result: ${result.text}`);
}, (error: string) => {
console.log(`Error: ${err}`);
})
}
});
}
}