python调用百度ai将图片/pdf识别为表格excel

这篇具有很好参考价值的文章主要介绍了python调用百度ai将图片/pdf识别为表格excel。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

表格文字识别(异步接口)

图片转excel

百度ai官方文档:https://ai.baidu.com/ai-doc/OCR/Ik3h7y238
使用的是表格文字识别(异步接口),同步接口已经下线

python调用百度ai将图片/pdf识别为表格excel,python基础,python,百度,人工智能

import requests
import json
import base64
import time
'''
文档:https://ai.baidu.com/ai-doc/OCR/Ik3h7y238
'''

# 获取access_token地址:https://console.bce.baidu.com/ai/#/ai/ocr/app/list
def get_access_token():
    client_id = "xxxxxxxxxxxxxxxxxx" # 你的apikey
    client_secret = "xxxxxxxxxxxxxxxxxxxxxx" # 你的Secret Key
    host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id={}&client_secret={}'.format(
        client_id, client_secret)
    response = requests.get(host).text
    data = json.loads(response)
    access_token = data['access_token']
    return access_token

# 获取识别结果
def get_info(access_token):
    request_url = "https://aip.baidubce.com/rest/2.0/solution/v1/form_ocr/request"
    # 二进制方式打开图片文件
    f = open('1.jpg', 'rb')
    img = base64.b64encode(f.read())  # base64编码
    params = {"image": img}
    request_url = request_url + "?access_token=" + access_token
    headers = {'content-type': 'application/x-www-form-urlencoded'}
    response = requests.post(request_url, data=params, headers=headers)
    # if response:
    #     print(response.json())
    data_1 = response.json()
    return data_1


# 获取excel

def get_excel(requests_id, access_token):
    headers = {'content-type': 'application/x-www-form-urlencoded'}
    pargams = {
        'request_id': requests_id,
        'result_type': 'excel'
    }
    url = 'https://aip.baidubce.com/rest/2.0/solution/v1/form_ocr/get_request_result'
    url_all = url + "?access_token=" + access_token
    res = requests.post(url_all, headers=headers, params=pargams)  # 访问链接获取excel下载页
    info_1 = res.json()['result']['ret_msg']
    excel_url = res.json()['result']['result_data']
    excel_1 = requests.get(excel_url).content
    print(excel_1)
    with open('识别结果.xls', 'wb+') as f:
        f.write(excel_1)
    print(info_1)


def main():
    print('正在处理中请稍后')
    access_token = get_access_token()
    data_1 = get_info(access_token)
    try:
        requests_id = data_1['result'][0]['request_id']
        if requests_id != '':
            print('识别完成')
    except:
        print('识别错误')
    print('正在获取excel')
    time.sleep(10)  # 延时十秒让网页图片转excel完毕,excel量多的话,转化会慢,可以延时长一点
    get_excel(requests_id, access_token)


main()

表格文字识别V2

图片/pdf转excel通用

import requests
import json
import base64

CLIENT_ID = "xxxxxxxxxxxxxxxxx"  # 你的apikey,需要修改
CLIENT_SECRET = "xxxxxxxxxxxxxxxxxxxxx"  # 你的Secret Key,需要修改


# 获取access_token
def get_access_token():
    auth_url = 'https://aip.baidubce.com/oauth/2.0/token'
    params = {
        'grant_type': 'client_credentials',
        'client_id': CLIENT_ID,
        'client_secret': CLIENT_SECRET,
    }
    response = requests.post(auth_url, data=params)
    data = response.json()
    access_token = data.get('access_token')
    if not access_token:
        raise "请输入正确的client_id 和 client_secret"
    return access_token


def save_excel(b64_excel, excel_name):
    # 将base64编码的excel文件解码并保存为本地文件
    excel = base64.b64decode(b64_excel)
    with open(excel_name, 'wb') as f:
        f.write(excel)


def to_excel(file_path, excel_name):
    access_token = get_access_token()
    request_url = "https://aip.baidubce.com/rest/2.0/ocr/v1/table"

    # 以二进制方式打开图片文件,并将其转换为base64编码
    with open(file_path, 'rb') as f:
        file = base64.b64encode(f.read())
    ext = file_path.split('.')[-1]
    if ext in ['jpg', 'jpeg', 'png', 'bmp']:
        # 图片格式
        data = {
            "image": file,
            "return_excel": 'true',
        }
    elif ext == 'pdf':
        # pdf格式
        data = {
            "pdf_file": file,
            "return_excel": 'true',
        }
    headers = {'content-type': 'application/x-www-form-urlencoded'}

    # 发送POST请求进行表格文字识别
    response = requests.post(request_url, params={'access_token': access_token}, data=data, headers=headers)
    if response.ok:
        data = response.json()
        # 将返回的excel文件保存到本地
        save_excel(data.get('excel_file', ''), excel_name)
        print('转换完成')
    else:
        print('转换失败')


if __name__ == '__main__':
    img_path = '1.png'  # 要转换的图片文件名
    pdf_path = 'table.pdf'  # 要转换的pdf文件名
    to_excel(file_path=img_path, excel_name='out_pic.xlsx')  # 转换后的excel文件名
    to_excel(file_path=pdf_path, excel_name='out_pdf.xlsx')  # 转换后的excel文件名

python调用百度ai将图片/pdf识别为表格excel,python基础,python,百度,人工智能文章来源地址https://www.toymoban.com/news/detail-656047.html

到了这里,关于python调用百度ai将图片/pdf识别为表格excel的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 用python实现调用百度图片搜索的API

    前言: 这段代码是一个简单的图片爬虫程序 它可以通过输入,在百度图片中搜索相关图片,并返回一张随机的图片。 代码使用Flask框架搭建了一个简单的Web应用,将用户输入的作为参数传递给爬虫程序,然后从百度图片中获取相关图片的URL 并随机选择一张返回

    2024年02月11日
    浏览(63)
  • Python 扩展教程(1): 调用百度AI

           自有计算机以来,人们就想让计算机具有人的感知、意识、概念、思维、行为,代替人的工作。AI (Artificial Interligence)是计算机科学的一个分支,专注研究、开发、模拟、扩展人的智能的理论、方法、技术及应用。        从研究领域和方法上, AI分为 模式识别、自

    2024年02月03日
    浏览(37)
  • 【NLP教程】用python调用百度AI开放平台进行情感倾向分析

    目录 一、背景 二、操作步骤 2.1 创建应用 2.2 获取token 2.3 情感倾向分析 三、其他情感分析 四、讲解视频 Hi,大家!我是 @马哥python说 ,一名10年程序猿。 今天我来演示一下:通过百度AI开放平台,利用python调用百度接口进行中文情感倾向分析,并得出情感极性分为积极、消

    2023年04月25日
    浏览(49)
  • Java 生成各种 PDF 实战方案(图片、模板、表格)

    本篇文章的重点还是在讲通过java生成pdf,其实如果是单纯的模板填充挺简单的,但是又要填充模板还要动态生成表格就比较麻烦了,因为如果在模板中画表格的框去生成的话,超过模板框的位置就会隐藏,我刚接到需求的时候也是有点难受,在网上也是找了大量的资料,研究

    2024年02月02日
    浏览(45)
  • 基于百度云的 AI 接口调用

      人工智能(Artificial Intelligence),英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。   人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应

    2024年01月21日
    浏览(44)
  • 百度飞浆OCR识别表格入门python实践

    百度飞桨(PaddlePaddle)是百度推出的一款深度学习平台,旨在为开发者提供强大的深度学习框架和工具。飞桨提供了包括OCR(光学字符识别)在内的多种功能,可以帮助开发者在各种应用中实现高效的文本识别。官网链接:https://www.paddlepaddle.org.cn/。 初次使用,安装: pip i

    2024年02月09日
    浏览(45)
  • 最简单的人脸检测(免费调用百度AI开放平台接口)

    远程调用百度AI开放平台的web服务,快速完成人脸识别 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 在检测人脸数量、位置、性别、口罩等场景时,可以考虑使用百度开放平台提供的web接口,一个web请求就能完成检测得到结果,本篇记录了从申

    2024年02月12日
    浏览(85)
  • 百度智能AI接口:黑白图片转彩色图片系统设计与实现

     博主介绍 :黄菊华老师《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程,免费 项目配有对应开发文档、开题报告、任务书、

    2024年02月04日
    浏览(51)
  • 调用百度文心AI作画API实现中文-图像跨模态生成

    乔冠华,女,西安工程大学电子信息学院,2020级硕士研究生,张宏伟人工智能课题组。 研究方向:机器视觉与人工智能。 电子邮件:1078914066@qq.com 文心ERNIE-ViLG,一款适合中文的跨模态AI绘画大模型。 论文地址:https://arxiv.org/pdf/2112.15283.pdf 体验连接:https://wenxin.baidu.com/ern

    2024年02月03日
    浏览(49)
  • 【itext7】itext7操作PDF文档之添加段落文本内容、添加List列表、添加Image图片、添加Table表格

    这篇文章,主要介绍itext7操作PDF文档之添加段落文本内容、添加List列表、添加Image图片、添加Table表格。 目录 一、itext7操作PDF内容 1.1、添加段落文本内容 1.2、添加列表内容 1.3、添加图片 1.4、添加表格 (1)列宽采用点单位(pt点单位) (2)采用百分比单位(%百分比) it

    2024年02月16日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包