工作中经常会有将大量纸质材料转换电子文档的需要,今天就介绍一个快速转换的方法。
思路:
首先需要将材料用手机拍成照片,按照阿拉伯数字从1开始命名,然后写个程序可以识别图片的工具就可以了。今天就借用百度云的文字识别API实现这个功能:
# encoding:utf-8
import requests
import base64
def get_access_token():
AK='NEqHQFs0oBcxAdkZXRnHGQPp' # client_id 为官网获取的AK
SK='BrUGOa1Htz364UOdkHLGS7KxbA5G6Kkc'# client_secret 为官网获取的SK
host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=%s&client_secret=%s'%(AK,SK)
response = requests.get(host)
access_token = response.json()['access_token']
return access_token
#imag_num 图片张数
def image_analysis(imag_num):
request_url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic" #调用api接口
for i in range(1,int(imag_num)+1):
f = open(str(i)+'.jpg', 'rb') # 二进制方式打开图片文件
img = base64.b64encode(f.read())
request_url = request_url + "?access_token=" + get_access_token()
headers = {'content-type': 'application/x-www-form-urlencoded'}
response = requests.post(request_url, data={"image":img}, headers=headers)
if response:
words_result=response.json()['words_result']
if words_result:
result=open('result.txt',mode='a')
for words in words_result:
result.write(words['words']+'\n')
if __name__=='__main__':
imag_num=input('请输入图片张数(比如 2):')
print('**************图片正在解析**************')
image_analysis(imag_num=imag_num)
input('图片解析完成,已保存到result.txt,按任意键退出:')
备注:代码中使用的AK 和 SK是我申请好的可以直接使用,但如果大量调用还是请自己申请一个吧。
关注微信公众号,可以下载打包EXE程序奥。