c#调用百度API识别表格,提取返回的json结果

需求:

最近要用c#写一个识别pdf扫描版里面表格,发现百度OCR识别表格还可以,下面介绍主要程序。(pdf扫描版我用python写的程序先改成png图片格式完整代码

实现(代码我都自己运行了一遍,没有问题,有问题欢迎留言交流):

①新建一个项目,因为我们这里是跑程序,就直接新建控制台(后期写成Addin做成word插件再改),然后下一步。

在这里插入图片描述

②添加两个引用:安装

1.在官方网站下载C# SDK压缩工具包。官网:https://ai.baidu.com/sdk

2.解压后,将 AipSdk.dll 和 Newtonsoft.Json.dll 中添加为引用。
在这里插入图片描述

三、主要代码:下面是介绍百度OCR识别表格怎么调用的,以及c#怎么提取json数据
/*
#作者:小白jiang
#联系:bk_jiang@163.com
#csdn:https://blog.csdn.net/weixin_37413070
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Baidu.Aip.Ocr;
using System.Threading.Tasks;
using System.IO;
using Newtonsoft.Json.Linq;
using Newtonsoft.Json;

namespace ConsoleApp1
{
    class Program  //建一个类,外面的空间用原来的就行
    {
        static void Main(string[] args)
        {
            string apiKey = "*******************";//根据自己申请的key
            string secretKey = "***********************";//根据自己申请的key
            Ocr client = new Ocr(apiKey, secretKey)
            {
                Timeout = 30000//延时时间
            };
            var tuPian = "D:\\JBK\\task\\sh\\vsto_test3\\32.png";//需要识别的图片路径
            byte[] image = File.ReadAllBytes(tuPian);//JObject result = client.GeneralBasic(image);//json数据,具体格式可以看官方API说明,这是识别文字

            //1、************下面这个识别png图片中表格成excel
            //var result = client.TableRecognitionToExcel(image, 30000); // 识别为excel文件
            //string url = result["result"]["result_data"].ToString();//获取树形result的json字符串
            //这是url就是excel文件的地址http://bj.bcebos.com/v1/ai-edgecloud/FB852F5C998A41F9AA9BFE966BD4D663.xls?authorization=bce-auth-v1%2Ff86a2044998643b5abc89b59158bad6d%2F2020-01-13T04%3A45%3A32Z%2F172800%2F%2F5f7ee677f2c66c3a6fe1649e4861e56e0009dd857d18b39b542a107cf9d50d5b

            //2、************下面这个识别png图片中表格获得返回结果json,然后提取一下json里面的"request_id",这个可以参考官方文档:https://cloud.baidu.com/doc/OCR/s/8jwvxznsf#%E8%A1%A8%E6%A0%BC%E6%96%87%E5%AD%97%E8%AF%86%E5%88%AB

            Newtonsoft.Json.Linq.JObject result = client.TableRecognitionRequest(image); //这是识别表格文字
            // resulte为{"result": [{"request_id": "18159544_1341054"}],"log_id": 1578881598722677}

            string userList = result["result"].ToString();//获取树形result的json字符串
            JArray jar = (JArray)JsonConvert.DeserializeObject(userList);  //解析result的json信息

            JObject j = JObject.Parse(jar[0].ToString());
            string userid = j["request_id"].ToString(); // request_id = 18159544_1341184

            Console.WriteLine(userid); 
             Console.ReadKey();
            //**********下面这个是根据上面的获得的requestId = "18159544_1341212"获得结果
            //var requestId = "18159544_1341212";

            //var result1 = client.TableRecognitionGetResult(requestId);

            //Console.WriteLine(result1);


            //Console.WriteLine(result);
        }
    }
}

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小白蒋博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值