使用AWS Textract处理PDF

时间:2020-10-08 10:52:57

标签: python ocr amazon-textract

我想使用Textract OCR服务从pdf文件读取文本。我有一个问题,因为我想在本地做,而没有S3存储桶。我对它进行了图像文件测试,效果很好,但不适用于PDF文件。

这是我收到错误的代码:

response = textract.start_document_text_detection(DocumentLocation="sample2.pdf")

错误:

Invalid type for parameter DocumentLocation, value: sample2.pdf, type: <class 'str'>, valid types: <class 'dict'>

代码2:

response = textract.start_document_text_detection(DocumentLocation={"name":"sample2.pdf"})

错误:

Unknown parameter in DocumentLocation: "name", must be one of: S3Object

代码3:

response = textract.start_document_text_detection(Document={'Bytes': "sample2.pdf"})

错误:

Unknown parameter in input: "Document", must be one of: DocumentLocation, ClientRequestToken, JobTag, NotificationChannel, OutputConfig

我该怎么办,有没有办法使Textract在不使用s3的情况下适用于PDF文档?

1 个答案:

答案 0 :(得分:0)

您问题的简短答案是“否”。

Textract仅与S3一起输入。 y \您将需要遵循boto3文档中针对服务描述的预期输入格式: https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/textract.html#Textract.Client.start_document_text_detection

从本质上讲,该服务需要结构化的输入,您需要根据其规范正确填写。这是boto3期望的DocumentLocation字典输入。

DocumentLocation={
    'S3Object': {
        'Bucket': 'string',
        'Name': 'string',
        'Version': 'string'
    }
}

我目前在boto3中也遇到了类似的问题,但是我将继续通过文档工作,以找出可以解决的问题。