使用LEADTOOLS云服务Web API进行OCR、条形码等





0/5 (0投票)
LEADTOOLS云服务提供了您期望从LEADTOOLS文档成像SDK中获得的所有速度、准确性和可靠性,并以简单、即用即付的Web API形式打包,托管在Microsoft Azure上。
引言
LEADTOOLS发布了一款新产品,以补充其享誉世界、屡获殊荣的成像SDK系列:LEADTOOLS云服务。这款功能强大且可扩展的Web API为开发人员提供了一个无忧的接口,用于将高级识别和文档转换集成到任何应用程序中。
这款新产品提供了您期望从LEADTOOLS文档成像SDK中获得的所有速度、准确性和可靠性,并以简单、即用即付的Web API形式打包,托管在Microsoft Azure上。该Web API与语言无关,因此您可以在任何能够访问互联网的编程语言中使用LEADTOOLS云服务。有关在线文档提供了.NET、JavaScript、Python、PHP和Perl的示例和教程。在下面的示例中,我们将演示一个简单的Node.js应用程序。
设置您的应用程序
第一步是创建一个免费的LEADTOOLS云服务账户,该账户为您的第一个应用程序提供50页免费使用额度。一旦您创建了自己的应用程序并指定了AppId,您将收到一个私有的API密码,您必须在每次请求中使用它。
解压本教程附带的Node.js演示文件后,请在router/RouteHelper.js文件中设置InternalAppId
和InternalPw
变量的值。
var LeadtoolsCloudServicesUrl = "https://azure.leadtools.com/api/";
var InternalAppId = "LCSDemo";
var InternalPw = "Enter Application Password Here";
现在打开命令提示符,导航到解压后的文件夹,然后运行npm install
。完成后,运行node server.js
来启动应用程序。默认情况下,演示配置为在https://:3000上运行。
进行服务调用
LEADTOOLS云服务非常简单且经济实惠。没有启动或许可费用,您只需为您每次调用服务支付几美分,具体取决于请求消耗的页数。您可以购买预付费套餐,或选择几种月度订阅级别,这样您就再也不用担心页数用完的问题了。
每个服务请求都需要URL和授权信息。这里我们正在构建ExtractText
方法的URL和参数。
//The first page in the file to mark for processing
var firstPage = 1;
//Sending a value of -1 will indicate to the services that
//the rest of the pages in the file should be processed.
var lastPage = -1;
//We will be uploading the file via a URl. Files can also
//be passed by adding a PostFile to the request. Only 1 file will be accepted
//per request.
var fileURL =
'http://demo.leadtools.com/images/tiff/ocr1-4.tif';
var recognitionUrl = LeadtoolsCloudServicesUrl +
'Recognition/ExtractText?firstPage=' + firstPage +
'&lastPage=' + lastPage +
'&fileurl=' + fileURL;
request.post(getRequestOptions(recognitionUrl),
recognitionCallback);
function getRequestOptions(url) {
//Function to generate and return HTTP request options.
var requestOptions = {
url: url,
//If uploading a file as multi-part content, remove
//the Content-Length header.
headers: {
'Content-Length': 0
},
auth: {
user: InternalAppId,
password: InternalPw
}
};
return requestOptions;
}
为了接收结果,我们实现了一个回调函数,该函数使用返回的GUID通过Query
方法递归地检查识别或转换方法的结果。
function recognitionCallback(error, response, body) {
if (!error && response.statusCode === 200) {
var guid = body;
console.log("Unique ID returned by the Services: " + guid);
queryServices(guid);
}
}
function queryServices(guid) {
//Function to query the status of a request.
//If the request has not yet finished, this function
//will recursively call itself until the file has finished.
var queryUrl = LeadtoolsCloudServicesUrl +
"Query?id=" + guid;
request.post(getRequestOptions(queryUrl),
async function (error, response, body) {
var results = JSON.parse(body);
if (!error && results['FileStatus'] !== 100)
{
console.log("File finished processing with return code: "
+ response.statusCode);
if (results['FileStatus'] !== 200) {
return;
}
// SUCCESS! do something with the results
} else {
//The file has not yet finished processing.
await function () {
//Sleep for 5 seconds before trying again
return new Promise(resolve => setTimeout(resolve, 5000));
};
queryServices(guid); //Call the method again.
}
});
}
就是这样!每个方法的参数可能略有不同,但无论您是从图像中提取文本、从条形码解码数据、解析银行支票上的表单字段和MICR行,还是将文件从一种格式转换为另一种格式,其工作流程基本相同。
使用OCR提取文本
光学字符识别(OCR)是LEADTOOLS最受欢迎和最受尊敬的技术之一。ExtractText
方法提供简单的识别,返回从图像中提取的纯文本。如果需要,启用CharacterData
选项将返回用于高级处理的附加数据,例如每个单词、字符、换行符和方向的位置和边界。
识别条形码
LEADTOOLS云服务包含两种从图像条形码中提取数据的方法。条形码识别方法与其他方法略有不同,它们是按每张条形码收费的。因此,提供了两种方法来更好地管理您的页数。您可以使用ExtractBarcode
选择只识别图像中的一个条形码,或者使用ExtractAllBarcodes
处理图像上的所有条形码。
从支票中提取数据
ExtractCheck
方法可用于从银行支票的扫描图像或照片中提取数据。它结合使用磁性油墨字符识别(MICR)和OCR来提取银行支票上的账号、路由号码、姓名、日期、金额等信息。
转换图像和文档
LEADTOOLS几十年前就从图像文件格式起步,它也将这项核心功能带入了LEADTOOLS云服务。开发人员可以使用Convert
方法上传文件并将其转换为JPEG或TIFF等光栅图像,或PDF、DOC和RTF等可搜索文档格式。
结论
LEADTOOLS云服务将LEADTOOLS文档成像的强大功能带入了几乎任何编程环境。其经济实惠的按页付费模式和Web API架构可以比市场上大多数API和SDK更快地启动您的应用程序。请访问https://services.leadtools.com了解更多信息。
下载完整的LEADTOOLS云服务示例
您可以下载功能齐全的演示,其中包含上述功能。解压.zip文件,然后按照README.txt中的说明进行操作。
支持
需要帮助来运行这个示例吗?请联系我们的支持团队获取免费技术支持!有关定价或许可问题,您可以联系我们的销售团队 (CloudSales@leadtools.com) 或致电 704-332-5532。