是的,AWS Textract支持使用Excel生成的PDF。您可以使用AWS SDK或AWS CLI调用Textract API来提取Excel生成的PDF中的文本和表格数据。
以下是使用Python AWS SDK(Boto3)的示例代码:
import boto3
# 创建Textract客户端
client = boto3.client('textract')
# 调用Textract的StartDocumentTextDetection API
response = client.start_document_text_detection(
DocumentLocation={
'S3Object': {
'Bucket': 'your-bucket-name',
'Name': 'your-pdf-file.pdf'
}
},
FeatureTypes=['TABLES', 'FORMS'] # 提取表格和表单数据
)
# 获取JobId
job_id = response['JobId']
# 等待文本提取任务完成
response = client.get_document_text_detection(JobId=job_id)
while response['JobStatus'] == 'IN_PROGRESS':
response = client.get_document_text_detection(JobId=job_id)
# 等待一段时间后再次检查任务状态
import time
time.sleep(5)
# 提取文本和表格数据
blocks = response['Blocks']
for block in blocks:
if block['BlockType'] == 'LINE':
print('Text: ', block['Text'])
elif block['BlockType'] == 'TABLE':
for cell in block['Relationships'][0]['Ids']:
print('Table Cell Text: ', blocks[cell]['Text'])
在上面的代码中,您需要将'your-bucket-name'替换为存储PDF文件的S3存储桶的名称,并将'your-pdf-file.pdf'替换为您要提取文本的PDF文件的名称。
此代码将启动一个文本提取任务,并等待任务完成。然后,它将从提取的结果中获取文本和表格数据,并将其打印出来。
请注意,Textract的StartDocumentTextDetection API是异步调用,您需要等待任务完成后才能获取提取的文本数据。
您还可以使用AWS CLI来调用Textract API。以下是使用AWS CLI的示例命令:
aws textract start-document-text-detection --document-location "S3Object={Bucket=your-bucket-name,Name=your-pdf-file.pdf}" --feature-types "TABLES" "FORMS" --output json
请确保替换'your-bucket-name'和'your-pdf-file.pdf'为相应的值。
这些代码示例可以帮助您开始使用AWS Textract提取Excel生成的PDF中的文本和表格数据。