Post-pdf-to-api(python)返回编码错误的响应



我正在尝试使用带python的ocr API将pdf转换为文本。我使用的API是:https://www.convertapi.com/pdf-to-txt。当我通过网站上传文件时,它工作得很好,但API调用有以下问题:

Python代码:

import requests
url ='https://v2.convertapi.com/convert/pdf/to/txt?Secret=mykey'
files = {'file': open('C:<some_url>filename.pdf', 'rb')}
r = requests.post(url, files=files)

API调用运行良好,但当我尝试通过访问响应时

r.text

它返回giberish:(注意FileData部分(

'{"ConversionCost":4,"Files":[{"FileName":"stateoftheartKWextraction.txt","FileExt":"txt","FileSize":60179,"FileData":"QXV0b21hdGljIEtleXBocmFzZSBFeHRyYWN0aW9uOiBBIFN1cnZleSBvZiB0aGUgU3RhdGUgb2YgdGhlIEFydA0KDQpLYXppIFNhaWR1bCBIYXNhbiAgYW5kICBWaW5jZW50IE5nDQpIdW1hbiBMYW5ndWFnZSBUZWNobm9sb2d5IFJlc2VhcmNoIEluc3RpdHV0ZSBVbml2ZXJzaXR5IG9mIFRleGFzIGF0IERhbGxhcyBSaWNoYXJkc29uLCBUWCA3NTA4My0wNjg4DQp7c2FpZHVsLHZpbmNlfUBobHQudXRkYWxsYXMuZW...

即使我使用json加载将其转换为dict,它仍然以giberish打印文本。我曾尝试以非二进制文件的形式上传该文件,但这不起作用(它引发了一个异常(。

我试过很多pdf文件,它们都是英文的。非常感谢。

文本已解码,因此需要对其进行解码。让我们以第一个文件为例。

import base64
r = r.json()
text = r['Files'][0]['FileData']
print(base64.b64decode(text))

顺便说一句,他们似乎也有一个Python库,你可能想看看:https://github.com/ConvertAPI/convertapi-python

最新更新