0

我想使用 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 文档工作?

4

1 回答 1

1

您的问题的简短回答是“不”。

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

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

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

我目前也遇到了一些类似的问题,使其在 boto3 中也能正常工作,但我将继续通过文档工作,看看我能弄清楚什么。

于 2020-10-23T15:40:00.663 回答