Utilisation d'AWS Textract pour traiter des PDF
Je souhaite utiliser le service OCR Textract pour lire du texte à partir d'un fichier pdf. J'ai un problème avec cela parce que je veux le faire localement, sans seau S3. Je l'ai testé pour les fichiers image et cela fonctionne bien, mais cela ne fonctionne pas pour les fichiers PDF.
C'est le code où j'obtiens une erreur:
response = textract.start_document_text_detection(DocumentLocation="sample2.pdf")
Erreur:
Invalid type for parameter DocumentLocation, value: sample2.pdf, type: <class 'str'>, valid types: <class 'dict'>
Code2:
response = textract.start_document_text_detection(DocumentLocation={"name":"sample2.pdf"})
Erreur:
Unknown parameter in DocumentLocation: "name", must be one of: S3Object
Code3:
response = textract.start_document_text_detection(Document={'Bytes': "sample2.pdf"})
Erreur:
Unknown parameter in input: "Document", must be one of: DocumentLocation, ClientRequestToken, JobTag, NotificationChannel, OutputConfig
Que dois-je faire, existe-t-il un moyen de faire fonctionner Textract pour les documents PDF sans s3?
Réponses
La réponse courte à votre question est "Non".
Textract fonctionne avec S3 uniquement pour l'entrée. y \ Vous devrez suivre le format de l'entrée attendue qui est décrit pour le service dans la documentation de boto3 ici:https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/textract.html#Textract.Client.start_document_text_detection
Essentiellement, le service souhaite une entrée structurée et vous devez la remplir correctement en fonction de ses spécifications. Voici l'entrée du dictionnaire DocumentLocation attendue par boto3.
DocumentLocation={
'S3Object': {
'Bucket': 'string',
'Name': 'string',
'Version': 'string'
}
}
J'ai actuellement des problèmes similaires pour que cela fonctionne dans boto3, mais je continuerai à travailler à travers la documentation pour voir ce que je peux comprendre.