Textract 不支持的文档异常
Textract Unsupported Document Exception
我正在尝试使用 boto3 来 运行 textract detect_document_text 请求。
我正在使用以下代码:
client = boto3.client('textract')
response = client.detect_document_text(
Document={
'Bytes': image_b64['document_b64']
}
)
其中 image_b64['document_b64'] 是我转换的 base64 图片代码,例如 https://base64.guru/converter/encode/image 网站。
但我收到以下错误:
UnsupportedDocumentException
我做错了什么?
每个文档:
If you're using an AWS SDK to call Amazon Textract, you might not need to base64-encode image bytes passed using the Bytes field.
仅在直接调用 REST 时才需要 Base64 编码API。使用Python或NodeJS SDK时,使用native bytes(二进制字节)。
为了将来参考,我使用以下方法解决了该问题:
client = boto3.client('textract')
image_64_decode = base64.b64decode(image_b64['document_b64'])
bytes = bytearray(image_64_decode)
response = client.detect_document_text(
Document={
'Bytes': bytes
}
)
对于 Boto3,如果您使用 Jupyternotebook 处理图像(.jpg 或 .png),您可以使用:
import boto3
import cv2
with open(images_path, "rb") as img_file:
img_str = bytearray(img_file.read())
textract = boto3.client('textract')
response = textract.detect_document_text(Document={'Bytes': img_str})
我正在尝试使用 boto3 来 运行 textract detect_document_text 请求。
我正在使用以下代码:
client = boto3.client('textract')
response = client.detect_document_text(
Document={
'Bytes': image_b64['document_b64']
}
)
其中 image_b64['document_b64'] 是我转换的 base64 图片代码,例如 https://base64.guru/converter/encode/image 网站。
但我收到以下错误:
UnsupportedDocumentException
我做错了什么?
每个文档:
If you're using an AWS SDK to call Amazon Textract, you might not need to base64-encode image bytes passed using the Bytes field.
仅在直接调用 REST 时才需要 Base64 编码API。使用Python或NodeJS SDK时,使用native bytes(二进制字节)。
为了将来参考,我使用以下方法解决了该问题:
client = boto3.client('textract')
image_64_decode = base64.b64decode(image_b64['document_b64'])
bytes = bytearray(image_64_decode)
response = client.detect_document_text(
Document={
'Bytes': bytes
}
)
对于 Boto3,如果您使用 Jupyternotebook 处理图像(.jpg 或 .png),您可以使用:
import boto3
import cv2
with open(images_path, "rb") as img_file:
img_str = bytearray(img_file.read())
textract = boto3.client('textract')
response = textract.detect_document_text(Document={'Bytes': img_str})