65.9K
CodeProject 正在变化。 阅读更多。
Home

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

emptyStarIconemptyStarIconemptyStarIconemptyStarIconemptyStarIcon

0/5 (0投票)

2019年8月20日

CPOL
viewsIcon

9783

downloadIcon

40

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文件中设置InternalAppIdInternalPw变量的值。

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。

© . All rights reserved.