1. 样例代码错误:
wrong: requests.exceptions.HTTPError: 403 Client Error: Forbidden for url: http://cloud.ocrsdk.com/processImage?exportFormat=xml%2CpdfTextAndImages&language=English
code:
from ABBYY import CloudOCR
ocr = CloudOCR(application_id='ApplicationID', password='ApplicationPassword')
pdf = open('blah.pdf', 'rb')
file = {pdf.name: pdf}
result = ocr.process_and_download(
file,
exportFormat='xml,pdfTextAndImages',
language='English'
)
print(result)
solution:
首先要确保你的ApplicationID和ApplicationPassword是正确的,如果仍然报错,则很很有可能是你在注册登记时选择的欧洲或美国注册,但是它们有不同的ServerUrl:
a. http://cloud-westus.ocrsdk.com
b. http://cloud-eu.ocrsdk.com
如果你在美国创建应用程序选择a,如果你在欧洲创建应用程序选择b,之后根据选择修改在CloudOCR类中的base_url。
2. 处理返回的数据格式为BytesIO ,无法直接使用需要转换:
可通过修改内部函数process_and_download,返回urls可直接使用或下载。
3. process_and_download中的常用参数:
exportFormat:返回数据的格式,可以是word,pdf等,最多一次返回三种格式,每种格式以逗号分隔;language:解析所用的语言,可以用多种,如简体中文ChinesePRC,英文English等,同样最多三种每种语言以逗号分隔,提醒中文简体与繁体共用可能导致解析错误。