研究百度OCR的API,主要是向做对扫描版的各种PDF进行文字识别并转Word文档的需求。
这里用Postman客户端进行测试和演示。因为Postman是对各种API操作的最佳入门方式。一旦在Postman里实现了正确的调用,剩下的就只是一键生成代码,和一些细节的修改了。
授权字符串 Access Token
Token字符串
如果没有Token授权认证,API的访问可能会像浏览网页一样简单。
Access Token
参考:百度API的鉴权认证机制 (建议你不要参考,因为它的流程图会先把你镇住的)
简单说,获取百度云token字符串的主要流程就是:
- 创建一个应用,获得只有自己知道的id和密码
- 用POST方式把id和密码发给百度的一个链接:
https://aip.baidubce.com/oauth/2.0/token
grant_type = client_credentialsclient_id = xxxAPI Keyclient_secret = xxxSecret Key
来看看怎么利用Postman操作,如下图所示:
填好以后点击Send发送,就会获得一个JSON数据,如下图:
access_token
正式调用API: 以"通用文字识别"为例
https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic
POST
调用方式有两种:
- 方式一:直接在URL填写信息
直接把API所需的认证信息放在URL里是最简单最方便的。
- ~方式二:Headers填写信息方式~
建议忽略这种方式,需要填写很多request的标准headers,太麻烦。
Headers设置:
Content-Type = application/x-www-form-urlencoded
只要填这一项就够了。
Body数据传送的各项参数:
access_token = xxximage = xxxdata:image/png;base64,url = xxxlanguage_type = CHN_ENG
Body的数据如图所示:
然后就可以点Send发送请求了。
成功后,可以得到百度云返回的一个JSON数据,类似下图:
返回的是一行一行的识别字符。百度云的识别率是相当高的,几乎100%吧。毕竟是国内本土的机器训练出来的。
API常用地址
以下是百度云的OCR常用API地址,每个API所需的参数都差不多,略有不同。所有的API和地址以及详细所需的参数,参考官方文档,很简单。一个弄明白了就其他的都明白了。
API | 请求地址 | 调用量限制 |
---|---|---|
通用文字识别 | 50000次/天免费 | |
通用文字识别(含位置信息版) | 500次/天免费 | |
通用文字识别(高精度版) | 500次/天免费 | |
通用文字识别(高精度含位置版) | 50次/天免费 | |
网络图片文字识别 | 500次/天免费 |