ExtractText - Node.JS

本教程展示如何在Node.JS应用程序中使用LEADTOOLS云服务提取文件中的文本数据。

概述
总结 本教程介绍如何制作ExtractText请求并使用Node.JS应用程序中的LEADTOOLS云服务处理结果。
完成时间 30分钟
项目 下载教程项目(125kb)
平台 LEADTOOLS云服务API
IDE Visual Studio 2019
语言 node . js
开发许可 下载LEADTOOLS
用另一种语言试试

所需的知识

请务必查看以下站点,以获得有关LEADTOOLS云服务API的信息。

服务计划

LEADTOOLS服务计划提供:

服务计划 描述
免费试用 免费评估
页面包 预付费页包
订阅 预付月处理页

要进一步了解这些产品,请参阅LEADTOOLS托管云服务的定价信息>服务计划条款

价格详情请参阅//m.ahtuanjie.com/sdk/188金宝搏的网址客服products/hosted-services#pricing>页面包而且订阅

如需获取应用ID和应用密码,请参见使用LEADTOOLS托管云服务创建帐户和应用程序

添加ExtractText代码

创建项目并添加包之后,就可以开始编码了。

解决方案资源管理器,打开server.js。在顶部添加以下变量。

//简单的脚本,用于生成和处理对LEADTOOLS CloudServices的ExtractText请求的结果。常量Axios = require(“axios”);常量servicesUrl =“https://azure.leadtools.com/api/”//文件中要标记进行处理的第一页常量firstPage = 1;//发送-1值将向服务指示应该处理文件中的其余页面。常量lastPage = -1;//我们将通过URl上传文件。也可以通过向请求添加PostFile来传递文件。每个请求只接受一个文件。//服务将使用以下优先级来确定请求试图做什么GUID > URL >请求正文内容常量fileURL =“http://demo.leadtools.com/images/cloud_samples/ocr1气管无名动脉瘘管的- 4.”常量recognitionUrl =servicesUrl +“认可/ ExtractText吗?珍宝“=”+珍宝“+" &lastPage = "+lastPage +" &fileurl = "+fileURL;

添加一个axios.post调用来处理ExtractText请求以及recognitionCallback函数来捕获GUID并将其提供给下一节。这将发送一个ExtractText请求到LEADTOOLS云服务API,如果成功,将返回一个唯一标识符(GUID),然后使用这个GUID进行查询。

axios.post(recognitionUrl, {}, getRequestOptions(recognitionUrl)).then((res) => {recognitionCallback (res。错误,res, res.data);})((err) => {console.error(错);});//如果上传文件为多部分内容:/*const uploadUrl = servicesUrl + '识别/提取文本?firstPage=' + firstPage + '&lastPage=' + lastPage;const form = new FormData();的形式。追加(“文件”,fs.createReadStream('路径\ \ inputFile '));axios.post(uploadUrl, form, getRequestOptions(uploadUrl)).then((res) => {recognitionCallback (res。错误,res, res.data);})。Catch ((err) => {console.error(错);}); * /函数recognitionCallback(错误,响应,正文){如果(!错误&&响应。状态=== 200){常量Guid =身体;console.log ("服务返回的唯一ID: "+ guid);queryServices (guid);

接下来,创建一个async函数queryServices (guid)提供的GUIDExtractText请求。如果成功,响应体将包含JSON格式的所有请求数据。

异步函数queryServices (guid) {//查询请求的状态。如果请求尚未完成,此函数将递归地调用自身,直到文件完成为止。常量queryUrl = servicesUrl +“查询?id = "+ guid;等待axios.post(queryUrl, {}, getRequestOptions(queryUrl)).then((res) => {常量Results = res.data;如果res。错误& &结果(“FileStatus”== 100 &&结果(“FileStatus”== 123) {console.log ("文件已完成处理,返回代码:"+ res.status);console.log(结果“FileStatus”]);如果(结果“FileStatus”== 200) {返回console.log (“结果:\ n”);parseJson(结果“RequestData”]);其他的//文件尚未处理完毕。返回Promise((resolve) => {setTimeout(() => {//睡眠5秒后再尝试解决(queryServices (guid));//再次调用该方法。}, 5000);});})((err) => {console.error(错);});

然后,创建函数parseJson (jsonObject)来处理返回的JSON数据。

函数parseJson (jsonObject) {//解码LEADTOOLS CloudServices返回的JSON对象的函数。(设I = 0;i < jsonObject.length;我+ +){let currentRequest = jsonObject[i];console.log (“服务类型:”+ currentRequest [“ServiceType”]);如果currentRequest [“ServiceType”) = = =“识别”& &currentRequest [“RecognitionType”) = = =“文本”) {console.log (“识别方法:”+ currentRequest [“RecognitionType”]);console.log (“数据:+ currentRequest [“数据”]);

最后,创建函数getRequestOptions (url)属性的头和授权axios.post连接来请求GUID和JSON数据。上面写着替换为应用程序ID而且替换为应用程序密码请务必输入相应的应用程序ID和密码。

函数getRequestOptions (url) {常量appId =“替换为应用程序ID”常量密码=“替换为应用程序密码”常量token = Buffer.from(' ${appId}:${password} ',“utf8 ") .toString (“base64”);生成并返回HTTP请求选项的函数。常量requestOptions = {url: url、数据:{},//如果上传文件为多部分内容,删除content - length头。标题:{“内容长度”: 0,授权:基本${token},},};返回requestOptions;

运行项目

按下运行项目Ctrl + F5,或选择调试->不调试启动

如果正确地执行了这些步骤,将出现控制台,应用程序将显示来自返回的JSON数据的已解析的检查信息。

提取的文本信息

总结

本教程展示了如何通过LEADTOOLS云服务API提取文本信息。

另请参阅

net
iOS
188金宝搏的网址客服|支持|联系我们|知识产权公告
©1991 - 2021领德科技有限公司版权所有。