FormRecognizerClient Classe

FormRecognizerClient extrait des informations des formulaires et des images dans des données structurées. Il s’agit de l’interface à utiliser pour analyser avec des modèles prédéfinis (reçus, cartes de visite, factures, documents d’identité), reconnaître le contenu/la disposition des formulaires et analyser les formulaires personnalisés à partir de modèles entraînés. Il fournit différentes méthodes basées sur les entrées d’une URL et les entrées d’un flux.

Notes

FormRecognizerClient doit être utilisé avec les versions <d’API =v2.1.

Pour utiliser les versions d’API 2022-08-31 et ultérieures, instanciez un DocumentAnalysisClient.

Héritage
azure.ai.formrecognizer._form_base_client.FormRecognizerClientBase
FormRecognizerClient

Constructeur

FormRecognizerClient(endpoint: str, credential: AzureKeyCredential | TokenCredential, **kwargs: Any)

Paramètres

endpoint
str
Obligatoire

Points de terminaison Cognitive Services pris en charge (protocole et nom d’hôte, par exemple : https://westus2.api.cognitive.microsoft.com).

credential
AzureKeyCredential ou TokenCredential
Obligatoire

Informations d’identification nécessaires pour que le client se connecte à Azure. Il s’agit d’un instance d’AzureKeyCredential si vous utilisez une clé API ou des informations d’identification de jeton à partir de identity.

api_version
str ou FormRecognizerApiVersion

Version de l’API du service à utiliser pour les requêtes. Par défaut, il s’agit de la version d’API v2.1. La définition d’une version antérieure peut réduire la compatibilité des fonctionnalités. Pour utiliser la dernière version et les fonctionnalités d’API prises en charge, instanciez plutôt un DocumentAnalysisClient.

Exemples

Création de FormRecognizerClient avec un point de terminaison et une clé API.


   from azure.core.credentials import AzureKeyCredential
   from azure.ai.formrecognizer import FormRecognizerClient
   endpoint = os.environ["AZURE_FORM_RECOGNIZER_ENDPOINT"]
   key = os.environ["AZURE_FORM_RECOGNIZER_KEY"]

   form_recognizer_client = FormRecognizerClient(endpoint, AzureKeyCredential(key))

Création de FormRecognizerClient avec des informations d’identification de jeton.


   """DefaultAzureCredential will use the values from these environment
   variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET
   """
   from azure.ai.formrecognizer import FormRecognizerClient
   from azure.identity import DefaultAzureCredential

   endpoint = os.environ["AZURE_FORM_RECOGNIZER_ENDPOINT"]
   credential = DefaultAzureCredential()

   form_recognizer_client = FormRecognizerClient(endpoint, credential)

Méthodes

begin_recognize_business_cards

Extrayez le texte de champ et les valeurs sémantiques d’un carte métier donné. Le document d’entrée doit être de l’un des types de contenu pris en charge : « application/pdf », « image/jpeg », « image/png », « image/tiff » ou « image/bmp ».

Consultez les champs trouvés sur un carte d’entreprise ici :https://aka.ms/formrecognizer/businesscardfields

Nouveautés de la version v2.1 : méthode cliente begin_recognize_business_cards

begin_recognize_business_cards_from_url

Extrayez le texte de champ et les valeurs sémantiques d’un carte métier donné. Le document d’entrée doit être l’emplacement (URL) du carte à analyser.

Consultez les champs trouvés sur un carte d’entreprise ici :https://aka.ms/formrecognizer/businesscardfields

Nouveautés de la version v2.1 : méthode cliente begin_recognize_business_cards_from_url

begin_recognize_content

Extrayez le texte et le contenu/mise en page d’un document donné. Le document d’entrée doit être de l’un des types de contenu pris en charge : « application/pdf », « image/jpeg », « image/png », « image/tiff » ou « image/bmp ».

Nouveautés de la version v2.1 : pages,langue et reading_order mot clé arguments et prise en charge du contenu image/bmp

begin_recognize_content_from_url

Extraire des informations de texte et de disposition d’un document donné. Le document d’entrée doit être l’emplacement (URL) du document à analyser.

Nouveautés de la version v2.1 : pages,langue et reading_order mot clé arguments et prise en charge du contenu image/bmp

begin_recognize_custom_forms

Analysez un formulaire personnalisé avec un modèle entraîné avec ou sans étiquettes. Le formulaire à analyser doit être du même type que les formulaires utilisés pour entraîner le modèle. Le document d’entrée doit être de l’un des types de contenu pris en charge : « application/pdf », « image/jpeg », « image/png », « image/tiff » ou « image/bmp ».

begin_recognize_custom_forms_from_url

Analysez un formulaire personnalisé avec un modèle entraîné avec ou sans étiquettes. Le formulaire à analyser doit être du même type que les formulaires utilisés pour entraîner le modèle. Le document d’entrée doit être l’emplacement (URL) du document à analyser.

begin_recognize_identity_documents

Extrayez le texte de champ et les valeurs sémantiques d’un document d’identité donné. Le document d’entrée doit être de l’un des types de contenu pris en charge : « application/pdf », « image/jpeg », « image/png », « image/tiff » ou « image/bmp ».

Consultez les champs trouvés dans un document d’identité ici : https://aka.ms/formrecognizer/iddocumentfields

Nouveauté de la version v2.1 : méthode cliente begin_recognize_identity_documents

begin_recognize_identity_documents_from_url

Extrayez le texte de champ et les valeurs sémantiques d’un document d’identité donné. Le document d’entrée doit être l’emplacement (URL) du document d’identité à analyser.

Consultez les champs trouvés dans un document d’identité ici : https://aka.ms/formrecognizer/iddocumentfields

Nouveauté de la version v2.1 : méthode cliente begin_recognize_identity_documents_from_url

begin_recognize_invoices

Extrayez le texte de champ et les valeurs sémantiques d’une facture donnée. Le document d’entrée doit être de l’un des types de contenu pris en charge : « application/pdf », « image/jpeg », « image/png », « image/tiff » ou « image/bmp ».

Consultez les champs trouvés sur une facture ici : https://aka.ms/formrecognizer/invoicefields

Nouveauté de la version v2.1 : méthode cliente begin_recognize_invoices

begin_recognize_invoices_from_url

Extrayez le texte de champ et les valeurs sémantiques d’une facture donnée. Le document d’entrée doit être l’emplacement (URL) de la facture à analyser.

Consultez les champs trouvés sur une facture carte ici :https://aka.ms/formrecognizer/invoicefields

Nouveauté de la version v2.1 : méthode cliente begin_recognize_invoices_from_url

begin_recognize_receipts

Extrayez le texte de champ et les valeurs sémantiques d’un reçu de vente donné. Le document d’entrée doit être de l’un des types de contenu pris en charge : « application/pdf », « image/jpeg », « image/png », « image/tiff » ou « image/bmp ».

Consultez les champs trouvés sur un reçu ici : https://aka.ms/formrecognizer/receiptfields

Nouveautés de la version v2.1 : paramètres régionaux et pages mot clé arguments et prise en charge du contenu image/bmp

begin_recognize_receipts_from_url

Extrayez le texte de champ et les valeurs sémantiques d’un reçu de vente donné. Le document d’entrée doit être l’emplacement (URL) du reçu à analyser.

Consultez les champs trouvés sur un reçu ici : https://aka.ms/formrecognizer/receiptfields

Nouveautés de la version v2.1 : paramètres régionaux et pages mot clé arguments et prise en charge du contenu image/bmp

close

Fermez la FormRecognizerClient session.

send_request

Exécute une requête réseau à l’aide du pipeline existant du client.

L’URL de requête peut être relative à l’URL de base. La version de l’API de service utilisée pour la requête est identique à celle du client, sauf indication contraire. La substitution de la version de l’API configurée du client dans l’URL relative est prise en charge sur le client avec la version d’API 2022-08-31 et ultérieure. Substitution dans l’URL absolue prise en charge sur le client avec n’importe quelle version d’API. Cette méthode ne déclenche pas si la réponse est une erreur ; pour déclencher une exception, appelez raise_for_status() sur l’objet de réponse retourné. Pour plus d’informations sur l’envoi de requêtes personnalisées avec cette méthode, consultez https://aka.ms/azsdk/dpcodegen/python/send_request.

begin_recognize_business_cards

Extrayez le texte de champ et les valeurs sémantiques d’un carte métier donné. Le document d’entrée doit être de l’un des types de contenu pris en charge : « application/pdf », « image/jpeg », « image/png », « image/tiff » ou « image/bmp ».

Consultez les champs trouvés sur un carte d’entreprise ici :https://aka.ms/formrecognizer/businesscardfields

Nouveautés de la version v2.1 : méthode cliente begin_recognize_business_cards

begin_recognize_business_cards(business_card: bytes | IO[bytes], **kwargs: Any) -> LROPoller[List[RecognizedForm]]

Paramètres

business_card
bytes ou IO[bytes]
Obligatoire

Flux ou octets de fichiers de type JPEG, PNG, PDF, TIFF ou BMP.

locale
str

Paramètres régionaux du carte métier. Les paramètres régionaux pris en charge sont en-US, en-AU, en-CA, en-GB et en-IN.

include_field_elements
bool

Indique s’il faut inclure ou non toutes les lignes par page et les éléments de champ, tels que les lignes, les mots et les marques de sélection pour chaque champ de formulaire.

pages
list[str]

Numéros de page personnalisés pour les documents multipage (PDF/TIFF). Entrez les numéros de page et/ou les plages de pages que vous souhaitez obtenir dans le résultat. Pour une plage de pages, utilisez un trait d’union, comme pages=["1-3 », « 5-6"]. Séparez chaque numéro de page ou plage par une virgule.

content_type
str ou FormContentType

Content-type du corps envoyé à l’API. Content-type est détecté automatiquement, mais peut être remplacé en passant cet argument mot clé. Pour obtenir des options, consultez FormContentType.

continuation_token
str

Jeton de continuation pour redémarrer un polleur à partir d’un état enregistré.

Retours

Instance d’un LROPoller. Appelez result() sur l’objet poller pour renvoyer une liste[RecognizedForm].

Type de retour

Exceptions

Exemples

Reconnaître les cartes de visite d’un fichier.


   from azure.core.credentials import AzureKeyCredential
   from azure.ai.formrecognizer import FormRecognizerClient

   endpoint = os.environ["AZURE_FORM_RECOGNIZER_ENDPOINT"]
   key = os.environ["AZURE_FORM_RECOGNIZER_KEY"]

   form_recognizer_client = FormRecognizerClient(
       endpoint=endpoint, credential=AzureKeyCredential(key)
   )
   with open(path_to_sample_forms, "rb") as f:
       poller = form_recognizer_client.begin_recognize_business_cards(business_card=f, locale="en-US")
   business_cards = poller.result()

   for idx, business_card in enumerate(business_cards):
       print("--------Recognizing business card #{}--------".format(idx+1))
       contact_names = business_card.fields.get("ContactNames")
       if contact_names:
           for contact_name in contact_names.value:
               print("Contact First Name: {} has confidence: {}".format(
                   contact_name.value["FirstName"].value, contact_name.value["FirstName"].confidence
               ))
               print("Contact Last Name: {} has confidence: {}".format(
                   contact_name.value["LastName"].value, contact_name.value["LastName"].confidence
               ))
       company_names = business_card.fields.get("CompanyNames")
       if company_names:
           for company_name in company_names.value:
               print("Company Name: {} has confidence: {}".format(company_name.value, company_name.confidence))
       departments = business_card.fields.get("Departments")
       if departments:
           for department in departments.value:
               print("Department: {} has confidence: {}".format(department.value, department.confidence))
       job_titles = business_card.fields.get("JobTitles")
       if job_titles:
           for job_title in job_titles.value:
               print("Job Title: {} has confidence: {}".format(job_title.value, job_title.confidence))
       emails = business_card.fields.get("Emails")
       if emails:
           for email in emails.value:
               print("Email: {} has confidence: {}".format(email.value, email.confidence))
       websites = business_card.fields.get("Websites")
       if websites:
           for website in websites.value:
               print("Website: {} has confidence: {}".format(website.value, website.confidence))
       addresses = business_card.fields.get("Addresses")
       if addresses:
           for address in addresses.value:
               print("Address: {} has confidence: {}".format(address.value, address.confidence))
       mobile_phones = business_card.fields.get("MobilePhones")
       if mobile_phones:
           for phone in mobile_phones.value:
               print("Mobile phone number: {} has confidence: {}".format(phone.value, phone.confidence))
       faxes = business_card.fields.get("Faxes")
       if faxes:
           for fax in faxes.value:
               print("Fax number: {} has confidence: {}".format(fax.value, fax.confidence))
       work_phones = business_card.fields.get("WorkPhones")
       if work_phones:
           for work_phone in work_phones.value:
               print("Work phone number: {} has confidence: {}".format(work_phone.value, work_phone.confidence))
       other_phones = business_card.fields.get("OtherPhones")
       if other_phones:
           for other_phone in other_phones.value:
               print("Other phone number: {} has confidence: {}".format(other_phone.value, other_phone.confidence))

begin_recognize_business_cards_from_url

Extrayez le texte de champ et les valeurs sémantiques d’un carte métier donné. Le document d’entrée doit être l’emplacement (URL) du carte à analyser.

Consultez les champs trouvés sur un carte d’entreprise ici :https://aka.ms/formrecognizer/businesscardfields

Nouveautés de la version v2.1 : méthode cliente begin_recognize_business_cards_from_url

begin_recognize_business_cards_from_url(business_card_url: str, **kwargs: Any) -> LROPoller[List[RecognizedForm]]

Paramètres

business_card_url
str
Obligatoire

URL de l’entreprise carte à analyser. L’entrée doit être une URL valide et encodée de l’un des formats pris en charge : JPEG, PNG, PDF, TIFF ou BMP.

locale
str

Paramètres régionaux du carte métier. Les paramètres régionaux pris en charge sont en-US, en-AU, en-CA, en-GB et en-IN.

include_field_elements
bool

Indique s’il faut inclure ou non toutes les lignes par page et les éléments de champ, tels que les lignes, les mots et les marques de sélection pour chaque champ de formulaire.

pages
list[str]

Numéros de page personnalisés pour les documents multipage (PDF/TIFF). Entrez les numéros de page et/ou les plages de pages que vous souhaitez obtenir dans le résultat. Pour une plage de pages, utilisez un trait d’union, comme pages=["1-3 », « 5-6"]. Séparez chaque numéro de page ou plage par une virgule.

continuation_token
str

Jeton de continuation pour redémarrer un polleur à partir d’un état enregistré.

Retours

Instance d’un LROPoller. Appelez result() sur l’objet poller pour renvoyer une liste[RecognizedForm].

Type de retour

Exceptions

begin_recognize_content

Extrayez le texte et le contenu/mise en page d’un document donné. Le document d’entrée doit être de l’un des types de contenu pris en charge : « application/pdf », « image/jpeg », « image/png », « image/tiff » ou « image/bmp ».

Nouveautés de la version v2.1 : pages,langue et reading_order mot clé arguments et prise en charge du contenu image/bmp

begin_recognize_content(form: bytes | IO[bytes], **kwargs: Any) -> LROPoller[List[FormPage]]

Paramètres

form
bytes ou IO[bytes]
Obligatoire

Flux ou octets de fichiers de type JPEG, PNG, PDF, TIFF ou BMP.

pages
list[str]

Numéros de page personnalisés pour les documents multipage (PDF/TIFF). Entrez les numéros de page et/ou les plages de pages que vous souhaitez obtenir dans le résultat. Pour une plage de pages, utilisez un trait d’union, comme pages=["1-3 », « 5-6"]. Séparez chaque numéro de page ou plage par une virgule.

language
str

Code de langue BCP-47 du texte du document. Consultez les codes de langue pris en charge ici : https://docs.microsoft.com/azure/cognitive-services/form-recognizer/language-support. Le contenu prend en charge l’identification automatique de la langue et les documents multilingues. Par conséquent, fournissez un code de langue uniquement si vous souhaitez forcer le traitement du document en tant que langue spécifique.

reading_order
str

Algorithme d’ordre de lecture pour trier les lignes de texte retournées. Les ordres de lecture pris en charge sont les suivants : de base (par défaut), naturel. Définissez « de base » pour trier les lignes de gauche à droite et de haut en bas, bien que dans certains cas la proximité soit traitée avec une priorité plus élevée. Définissez « naturel » pour trier les lignes à l’aide d’informations de position pour maintenir les lignes proches.

content_type
str ou FormContentType

Content-type du corps envoyé à l’API. Content-type est détecté automatiquement, mais peut être remplacé en passant cet argument mot clé. Pour obtenir des options, consultez FormContentType.

continuation_token
str

Jeton de continuation pour redémarrer un polleur à partir d’un état enregistré.

Retours

Instance d’un LROPoller. Appelez result() sur l’objet poller pour renvoyer une liste[FormPage].

Type de retour

Exceptions

Exemples

Reconnaître le texte et le contenu/mise en page d’un formulaire.


   from azure.core.credentials import AzureKeyCredential
   from azure.ai.formrecognizer import FormRecognizerClient

   endpoint = os.environ["AZURE_FORM_RECOGNIZER_ENDPOINT"]
   key = os.environ["AZURE_FORM_RECOGNIZER_KEY"]

   form_recognizer_client = FormRecognizerClient(endpoint=endpoint, credential=AzureKeyCredential(key))
   with open(path_to_sample_forms, "rb") as f:
       poller = form_recognizer_client.begin_recognize_content(form=f)
   form_pages = poller.result()

   for idx, content in enumerate(form_pages):
       print("----Recognizing content from page #{}----".format(idx+1))
       print("Page has width: {} and height: {}, measured with unit: {}".format(
           content.width,
           content.height,
           content.unit
       ))
       for table_idx, table in enumerate(content.tables):
           print("Table # {} has {} rows and {} columns".format(table_idx, table.row_count, table.column_count))
           print("Table # {} location on page: {}".format(table_idx, format_bounding_box(table.bounding_box)))
           for cell in table.cells:
               print("...Cell[{}][{}] has text '{}' within bounding box '{}'".format(
                   cell.row_index,
                   cell.column_index,
                   cell.text,
                   format_bounding_box(cell.bounding_box)
               ))

       for line_idx, line in enumerate(content.lines):
           print("Line # {} has word count '{}' and text '{}' within bounding box '{}'".format(
               line_idx,
               len(line.words),
               line.text,
               format_bounding_box(line.bounding_box)
           ))
           if line.appearance:
               if line.appearance.style_name == "handwriting" and line.appearance.style_confidence > 0.8:
                   print("Text line '{}' is handwritten and might be a signature.".format(line.text))
           for word in line.words:
               print("...Word '{}' has a confidence of {}".format(word.text, word.confidence))

       for selection_mark in content.selection_marks:
           print("Selection mark is '{}' within bounding box '{}' and has a confidence of {}".format(
               selection_mark.state,
               format_bounding_box(selection_mark.bounding_box),
               selection_mark.confidence
           ))
       print("----------------------------------------")


begin_recognize_content_from_url

Extraire des informations de texte et de disposition d’un document donné. Le document d’entrée doit être l’emplacement (URL) du document à analyser.

Nouveautés de la version v2.1 : pages,langue et reading_order mot clé arguments et prise en charge du contenu image/bmp

begin_recognize_content_from_url(form_url: str, **kwargs: Any) -> LROPoller[List[FormPage]]

Paramètres

form_url
str
Obligatoire

URL du formulaire à analyser. L’entrée doit être une URL valide et encodée de l’un des formats pris en charge : JPEG, PNG, PDF, TIFF ou BMP.

pages
list[str]

Numéros de page personnalisés pour les documents multipage (PDF/TIFF). Entrez les numéros de page et/ou les plages de pages que vous souhaitez obtenir dans le résultat. Pour une plage de pages, utilisez un trait d’union, comme pages=["1-3 », « 5-6"]. Séparez chaque numéro de page ou plage par une virgule.

language
str

Code de langue BCP-47 du texte du document. Consultez les codes de langue pris en charge ici : https://docs.microsoft.com/azure/cognitive-services/form-recognizer/language-support. Le contenu prend en charge l’identification automatique de la langue et les documents multilingues. Par conséquent, fournissez un code de langue uniquement si vous souhaitez forcer le traitement du document en tant que langue spécifique.

reading_order
str

Algorithme d’ordre de lecture pour trier les lignes de texte retournées. Les ordres de lecture pris en charge sont les suivants : de base (par défaut), naturel. Définissez « de base » pour trier les lignes de gauche à droite et de haut en bas, bien que dans certains cas la proximité soit traitée avec une priorité plus élevée. Définissez « naturel » pour trier les lignes à l’aide d’informations de position pour maintenir les lignes proches.

continuation_token
str

Jeton de continuation pour redémarrer un polleur à partir d’un état enregistré.

Retours

Instance d’un LROPoller. Appelez result() sur l’objet poller pour renvoyer une liste[FormPage].

Type de retour

Exceptions

begin_recognize_custom_forms

Analysez un formulaire personnalisé avec un modèle entraîné avec ou sans étiquettes. Le formulaire à analyser doit être du même type que les formulaires utilisés pour entraîner le modèle. Le document d’entrée doit être de l’un des types de contenu pris en charge : « application/pdf », « image/jpeg », « image/png », « image/tiff » ou « image/bmp ».

begin_recognize_custom_forms(model_id: str, form: bytes | IO[bytes], **kwargs: Any) -> LROPoller[List[RecognizedForm]]

Paramètres

model_id
str
Obligatoire

Identificateur de modèle personnalisé.

form
bytes ou IO[bytes]
Obligatoire

Flux ou octets de fichiers de type JPEG, PNG, PDF, TIFF ou BMP.

include_field_elements
bool

Indique s’il faut inclure ou non toutes les lignes par page et les éléments de champ tels que les lignes, les mots et les marques de sélection pour chaque champ de formulaire.

content_type
str ou FormContentType

Type de contenu du corps envoyé à l’API. Le type de contenu est détecté automatiquement, mais peut être remplacé en passant cet argument mot clé. Pour connaître les options, consultez FormContentType.

pages
list[str]

Numéros de page personnalisés pour les documents multipage (PDF/TIFF). Entrez les numéros de page et/ou les plages de pages que vous souhaitez obtenir dans le résultat. Pour une plage de pages, utilisez un trait d’union, comme pages=["1-3 », « 5-6"]. Séparez chaque numéro de page ou plage par une virgule.

continuation_token
str

Jeton de continuation pour redémarrer un polleur à partir d’un état enregistré.

Retours

Instance d’un LROPoller. Appelez result() sur l’objet poller pour renvoyer une liste[RecognizedForm].

Type de retour

Exceptions

Exemples

Reconnaître les champs et les valeurs d’un formulaire personnalisé.


   from azure.core.credentials import AzureKeyCredential
   from azure.ai.formrecognizer import FormRecognizerClient

   endpoint = os.environ["AZURE_FORM_RECOGNIZER_ENDPOINT"]
   key = os.environ["AZURE_FORM_RECOGNIZER_KEY"]
   model_id = os.getenv("CUSTOM_TRAINED_MODEL_ID", custom_model_id)

   form_recognizer_client = FormRecognizerClient(
       endpoint=endpoint, credential=AzureKeyCredential(key)
   )

   # Make sure your form's type is included in the list of form types the custom model can recognize
   with open(path_to_sample_forms, "rb") as f:
       poller = form_recognizer_client.begin_recognize_custom_forms(
           model_id=model_id, form=f, include_field_elements=True
       )
   forms = poller.result()

   for idx, form in enumerate(forms):
       print("--------Recognizing Form #{}--------".format(idx+1))
       print("Form has type {}".format(form.form_type))
       print("Form has form type confidence {}".format(form.form_type_confidence))
       print("Form was analyzed with model with ID {}".format(form.model_id))
       for name, field in form.fields.items():
           # each field is of type FormField
           # label_data is populated if you are using a model trained without labels,
           # since the service needs to make predictions for labels if not explicitly given to it.
           if field.label_data:
               print("...Field '{}' has label '{}' with a confidence score of {}".format(
                   name,
                   field.label_data.text,
                   field.confidence
               ))

           print("...Label '{}' has value '{}' with a confidence score of {}".format(
               field.label_data.text if field.label_data else name, field.value, field.confidence
           ))

       # iterate over tables, lines, and selection marks on each page
       for page in form.pages:
           for i, table in enumerate(page.tables):
               print("\nTable {} on page {}".format(i+1, table.page_number))
               for cell in table.cells:
                   print("...Cell[{}][{}] has text '{}' with confidence {}".format(
                       cell.row_index, cell.column_index, cell.text, cell.confidence
                   ))
           print("\nLines found on page {}".format(page.page_number))
           for line in page.lines:
               print("...Line '{}' is made up of the following words: ".format(line.text))
               for word in line.words:
                   print("......Word '{}' has a confidence of {}".format(
                       word.text,
                       word.confidence
                   ))
           if page.selection_marks:
               print("\nSelection marks found on page {}".format(page.page_number))
               for selection_mark in page.selection_marks:
                   print("......Selection mark is '{}' and has a confidence of {}".format(
                       selection_mark.state,
                       selection_mark.confidence
                   ))

       print("-----------------------------------")

begin_recognize_custom_forms_from_url

Analysez un formulaire personnalisé avec un modèle entraîné avec ou sans étiquettes. Le formulaire à analyser doit être du même type que les formulaires utilisés pour entraîner le modèle. Le document d’entrée doit être l’emplacement (URL) du document à analyser.

begin_recognize_custom_forms_from_url(model_id: str, form_url: str, **kwargs: Any) -> LROPoller[List[RecognizedForm]]

Paramètres

model_id
str
Obligatoire

Identificateur de modèle personnalisé.

form_url
str
Obligatoire

URL du formulaire à analyser. L’entrée doit être une URL valide et encodée de l’un des formats pris en charge : JPEG, PNG, PDF, TIFF ou BMP.

include_field_elements
bool

Indique s’il faut inclure ou non toutes les lignes par page et les éléments de champ tels que les lignes, les mots et les marques de sélection pour chaque champ de formulaire.

pages
list[str]

Numéros de page personnalisés pour les documents multipage (PDF/TIFF). Entrez les numéros de page et/ou les plages de pages que vous souhaitez obtenir dans le résultat. Pour une plage de pages, utilisez un trait d’union, comme pages=["1-3 », « 5-6"]. Séparez chaque numéro de page ou plage par une virgule.

continuation_token
str

Jeton de continuation pour redémarrer un polleur à partir d’un état enregistré.

Retours

Instance d’un LROPoller. Appelez result() sur l’objet poller pour renvoyer une liste[RecognizedForm].

Type de retour

Exceptions

begin_recognize_identity_documents

Extrayez le texte de champ et les valeurs sémantiques d’un document d’identité donné. Le document d’entrée doit être de l’un des types de contenu pris en charge : « application/pdf », « image/jpeg », « image/png », « image/tiff » ou « image/bmp ».

Consultez les champs trouvés dans un document d’identité ici : https://aka.ms/formrecognizer/iddocumentfields

Nouveauté de la version v2.1 : méthode cliente begin_recognize_identity_documents

begin_recognize_identity_documents(identity_document: bytes | IO[bytes], **kwargs: Any) -> LROPoller[List[RecognizedForm]]

Paramètres

identity_document
bytes ou IO[bytes]
Obligatoire

Flux ou octets de fichiers de type JPEG, PNG, PDF, TIFF ou BMP.

include_field_elements
bool

Indique s’il faut inclure ou non toutes les lignes par page et les éléments de champ tels que les lignes, les mots et les marques de sélection pour chaque champ de formulaire.

content_type
str ou FormContentType

Type de contenu du corps envoyé à l’API. Le type de contenu est détecté automatiquement, mais peut être remplacé en passant cet argument mot clé. Pour connaître les options, consultez FormContentType.

continuation_token
str

Jeton de continuation pour redémarrer un polleur à partir d’un état enregistré.

pages
list[str]

Numéros de page personnalisés pour les documents multipage (PDF/TIFF). Entrez les numéros de page et/ou les plages de pages que vous souhaitez obtenir dans le résultat. Pour une plage de pages, utilisez un trait d’union, comme pages=["1-3 », « 5-6"]. Séparez chaque numéro de page ou plage par une virgule.

Retours

Instance d’un LROPoller. Appelez result() sur l’objet poller pour renvoyer une liste[RecognizedForm].

Type de retour

Exceptions

Exemples

Reconnaître les champs du document d’identité.


   from azure.core.credentials import AzureKeyCredential
   from azure.ai.formrecognizer import FormRecognizerClient

   endpoint = os.environ["AZURE_FORM_RECOGNIZER_ENDPOINT"]
   key = os.environ["AZURE_FORM_RECOGNIZER_KEY"]

   form_recognizer_client = FormRecognizerClient(
       endpoint=endpoint, credential=AzureKeyCredential(key)
   )
   with open(path_to_sample_forms, "rb") as f:
       poller = form_recognizer_client.begin_recognize_identity_documents(identity_document=f)
   id_documents = poller.result()

   for idx, id_document in enumerate(id_documents):
       print("--------Recognizing ID document #{}--------".format(idx+1))
       first_name = id_document.fields.get("FirstName")
       if first_name:
           print("First Name: {} has confidence: {}".format(first_name.value, first_name.confidence))
       last_name = id_document.fields.get("LastName")
       if last_name:
           print("Last Name: {} has confidence: {}".format(last_name.value, last_name.confidence))
       document_number = id_document.fields.get("DocumentNumber")
       if document_number:
           print("Document Number: {} has confidence: {}".format(document_number.value, document_number.confidence))
       dob = id_document.fields.get("DateOfBirth")
       if dob:
           print("Date of Birth: {} has confidence: {}".format(dob.value, dob.confidence))
       doe = id_document.fields.get("DateOfExpiration")
       if doe:
           print("Date of Expiration: {} has confidence: {}".format(doe.value, doe.confidence))
       sex = id_document.fields.get("Sex")
       if sex:
           print("Sex: {} has confidence: {}".format(sex.value, sex.confidence))
       address = id_document.fields.get("Address")
       if address:
           print("Address: {} has confidence: {}".format(address.value, address.confidence))
       country_region = id_document.fields.get("CountryRegion")
       if country_region:
           print("Country/Region: {} has confidence: {}".format(country_region.value, country_region.confidence))
       region = id_document.fields.get("Region")
       if region:
           print("Region: {} has confidence: {}".format(region.value, region.confidence))

begin_recognize_identity_documents_from_url

Extrayez le texte de champ et les valeurs sémantiques d’un document d’identité donné. Le document d’entrée doit être l’emplacement (URL) du document d’identité à analyser.

Consultez les champs trouvés dans un document d’identité ici : https://aka.ms/formrecognizer/iddocumentfields

Nouveauté de la version v2.1 : méthode cliente begin_recognize_identity_documents_from_url

begin_recognize_identity_documents_from_url(identity_document_url: str, **kwargs: Any) -> LROPoller[List[RecognizedForm]]

Paramètres

identity_document_url
str
Obligatoire

URL du document d’identité à analyser. L’entrée doit être une URL valide et encodée de l’un des formats pris en charge : JPEG, PNG, PDF, TIFF ou BMP.

include_field_elements
bool

Indique s’il faut inclure ou non toutes les lignes par page et les éléments de champ tels que les lignes, les mots et les marques de sélection pour chaque champ de formulaire.

continuation_token
str

Jeton de continuation pour redémarrer un polleur à partir d’un état enregistré.

pages
list[str]

Numéros de page personnalisés pour les documents multipage (PDF/TIFF). Entrez les numéros de page et/ou les plages de pages que vous souhaitez obtenir dans le résultat. Pour une plage de pages, utilisez un trait d’union, comme pages=["1-3 », « 5-6"]. Séparez chaque numéro de page ou plage par une virgule.

Retours

Instance d’un LROPoller. Appelez result() sur l’objet poller pour renvoyer une liste[RecognizedForm].

Type de retour

Exceptions

begin_recognize_invoices

Extrayez le texte de champ et les valeurs sémantiques d’une facture donnée. Le document d’entrée doit être de l’un des types de contenu pris en charge : « application/pdf », « image/jpeg », « image/png », « image/tiff » ou « image/bmp ».

Consultez les champs trouvés sur une facture ici : https://aka.ms/formrecognizer/invoicefields

Nouveauté de la version v2.1 : méthode cliente begin_recognize_invoices

begin_recognize_invoices(invoice: bytes | IO[bytes], **kwargs: Any) -> LROPoller[List[RecognizedForm]]

Paramètres

invoice
bytes ou IO[bytes]
Obligatoire

Flux ou octets de fichiers de type JPEG, PNG, PDF, TIFF ou BMP.

locale
str

Paramètres régionaux de la facture. Les paramètres régionaux pris en charge sont les suivants : en-US

include_field_elements
bool

Indique s’il faut inclure ou non toutes les lignes par page et les éléments de champ tels que les lignes, les mots et les marques de sélection pour chaque champ de formulaire.

pages
list[str]

Numéros de page personnalisés pour les documents multipage (PDF/TIFF). Entrez les numéros de page et/ou les plages de pages que vous souhaitez obtenir dans le résultat. Pour une plage de pages, utilisez un trait d’union, comme pages=["1-3 », « 5-6"]. Séparez chaque numéro de page ou plage par une virgule.

content_type
str ou FormContentType

Type de contenu du corps envoyé à l’API. Le type de contenu est détecté automatiquement, mais peut être remplacé en passant cet argument mot clé. Pour connaître les options, consultez FormContentType.

continuation_token
str

Jeton de continuation pour redémarrer un polleur à partir d’un état enregistré.

Retours

Instance d’un LROPoller. Appelez result() sur l’objet poller pour renvoyer une liste[RecognizedForm].

Type de retour

Exceptions

Exemples

Reconnaître les factures d’un fichier.


   from azure.core.credentials import AzureKeyCredential
   from azure.ai.formrecognizer import FormRecognizerClient

   endpoint = os.environ["AZURE_FORM_RECOGNIZER_ENDPOINT"]
   key = os.environ["AZURE_FORM_RECOGNIZER_KEY"]

   form_recognizer_client = FormRecognizerClient(
       endpoint=endpoint, credential=AzureKeyCredential(key)
   )
   with open(path_to_sample_forms, "rb") as f:
       poller = form_recognizer_client.begin_recognize_invoices(invoice=f, locale="en-US")
   invoices = poller.result()

   for idx, invoice in enumerate(invoices):
       print("--------Recognizing invoice #{}--------".format(idx+1))
       vendor_name = invoice.fields.get("VendorName")
       if vendor_name:
           print("Vendor Name: {} has confidence: {}".format(vendor_name.value, vendor_name.confidence))
       vendor_address = invoice.fields.get("VendorAddress")
       if vendor_address:
           print("Vendor Address: {} has confidence: {}".format(vendor_address.value, vendor_address.confidence))
       vendor_address_recipient = invoice.fields.get("VendorAddressRecipient")
       if vendor_address_recipient:
           print("Vendor Address Recipient: {} has confidence: {}".format(vendor_address_recipient.value, vendor_address_recipient.confidence))
       customer_name = invoice.fields.get("CustomerName")
       if customer_name:
           print("Customer Name: {} has confidence: {}".format(customer_name.value, customer_name.confidence))
       customer_id = invoice.fields.get("CustomerId")
       if customer_id:
           print("Customer Id: {} has confidence: {}".format(customer_id.value, customer_id.confidence))
       customer_address = invoice.fields.get("CustomerAddress")
       if customer_address:
           print("Customer Address: {} has confidence: {}".format(customer_address.value, customer_address.confidence))
       customer_address_recipient = invoice.fields.get("CustomerAddressRecipient")
       if customer_address_recipient:
           print("Customer Address Recipient: {} has confidence: {}".format(customer_address_recipient.value, customer_address_recipient.confidence))
       invoice_id = invoice.fields.get("InvoiceId")
       if invoice_id:
           print("Invoice Id: {} has confidence: {}".format(invoice_id.value, invoice_id.confidence))
       invoice_date = invoice.fields.get("InvoiceDate")
       if invoice_date:
           print("Invoice Date: {} has confidence: {}".format(invoice_date.value, invoice_date.confidence))
       invoice_total = invoice.fields.get("InvoiceTotal")
       if invoice_total:
           print("Invoice Total: {} has confidence: {}".format(invoice_total.value, invoice_total.confidence))
       due_date = invoice.fields.get("DueDate")
       if due_date:
           print("Due Date: {} has confidence: {}".format(due_date.value, due_date.confidence))
       purchase_order = invoice.fields.get("PurchaseOrder")
       if purchase_order:
           print("Purchase Order: {} has confidence: {}".format(purchase_order.value, purchase_order.confidence))
       billing_address = invoice.fields.get("BillingAddress")
       if billing_address:
           print("Billing Address: {} has confidence: {}".format(billing_address.value, billing_address.confidence))
       billing_address_recipient = invoice.fields.get("BillingAddressRecipient")
       if billing_address_recipient:
           print("Billing Address Recipient: {} has confidence: {}".format(billing_address_recipient.value, billing_address_recipient.confidence))
       shipping_address = invoice.fields.get("ShippingAddress")
       if shipping_address:
           print("Shipping Address: {} has confidence: {}".format(shipping_address.value, shipping_address.confidence))
       shipping_address_recipient = invoice.fields.get("ShippingAddressRecipient")
       if shipping_address_recipient:
           print("Shipping Address Recipient: {} has confidence: {}".format(shipping_address_recipient.value, shipping_address_recipient.confidence))
       print("Invoice items:")
       for idx, item in enumerate(invoice.fields.get("Items").value):
           print("...Item #{}".format(idx+1))
           item_description = item.value.get("Description")
           if item_description:
               print("......Description: {} has confidence: {}".format(item_description.value, item_description.confidence))
           item_quantity = item.value.get("Quantity")
           if item_quantity:
               print("......Quantity: {} has confidence: {}".format(item_quantity.value, item_quantity.confidence))
           unit = item.value.get("Unit")
           if unit:
               print("......Unit: {} has confidence: {}".format(unit.value, unit.confidence))
           unit_price = item.value.get("UnitPrice")
           if unit_price:
               print("......Unit Price: {} has confidence: {}".format(unit_price.value, unit_price.confidence))
           product_code = item.value.get("ProductCode")
           if product_code:
               print("......Product Code: {} has confidence: {}".format(product_code.value, product_code.confidence))
           item_date = item.value.get("Date")
           if item_date:
               print("......Date: {} has confidence: {}".format(item_date.value, item_date.confidence))
           tax = item.value.get("Tax")
           if tax:
               print("......Tax: {} has confidence: {}".format(tax.value, tax.confidence))
           amount = item.value.get("Amount")
           if amount:
               print("......Amount: {} has confidence: {}".format(amount.value, amount.confidence))
       subtotal = invoice.fields.get("SubTotal")
       if subtotal:
           print("Subtotal: {} has confidence: {}".format(subtotal.value, subtotal.confidence))
       total_tax = invoice.fields.get("TotalTax")
       if total_tax:
           print("Total Tax: {} has confidence: {}".format(total_tax.value, total_tax.confidence))
       previous_unpaid_balance = invoice.fields.get("PreviousUnpaidBalance")
       if previous_unpaid_balance:
           print("Previous Unpaid Balance: {} has confidence: {}".format(previous_unpaid_balance.value, previous_unpaid_balance.confidence))
       amount_due = invoice.fields.get("AmountDue")
       if amount_due:
           print("Amount Due: {} has confidence: {}".format(amount_due.value, amount_due.confidence))
       service_start_date = invoice.fields.get("ServiceStartDate")
       if service_start_date:
           print("Service Start Date: {} has confidence: {}".format(service_start_date.value, service_start_date.confidence))
       service_end_date = invoice.fields.get("ServiceEndDate")
       if service_end_date:
           print("Service End Date: {} has confidence: {}".format(service_end_date.value, service_end_date.confidence))
       service_address = invoice.fields.get("ServiceAddress")
       if service_address:
           print("Service Address: {} has confidence: {}".format(service_address.value, service_address.confidence))
       service_address_recipient = invoice.fields.get("ServiceAddressRecipient")
       if service_address_recipient:
           print("Service Address Recipient: {} has confidence: {}".format(service_address_recipient.value, service_address_recipient.confidence))
       remittance_address = invoice.fields.get("RemittanceAddress")
       if remittance_address:
           print("Remittance Address: {} has confidence: {}".format(remittance_address.value, remittance_address.confidence))
       remittance_address_recipient = invoice.fields.get("RemittanceAddressRecipient")
       if remittance_address_recipient:
           print("Remittance Address Recipient: {} has confidence: {}".format(remittance_address_recipient.value, remittance_address_recipient.confidence))

begin_recognize_invoices_from_url

Extrayez le texte de champ et les valeurs sémantiques d’une facture donnée. Le document d’entrée doit être l’emplacement (URL) de la facture à analyser.

Consultez les champs trouvés sur une facture carte ici :https://aka.ms/formrecognizer/invoicefields

Nouveauté de la version v2.1 : méthode cliente begin_recognize_invoices_from_url

begin_recognize_invoices_from_url(invoice_url: str, **kwargs: Any) -> LROPoller[List[RecognizedForm]]

Paramètres

invoice_url
str
Obligatoire

URL de la facture à analyser. L’entrée doit être une URL valide et encodée de l’un des formats pris en charge : JPEG, PNG, PDF, TIFF ou BMP.

locale
str

Paramètres régionaux de la facture. Les paramètres régionaux pris en charge sont les suivants : en-US

include_field_elements
bool

Indique s’il faut inclure ou non toutes les lignes par page et les éléments de champ tels que les lignes, les mots et les marques de sélection pour chaque champ de formulaire.

pages
list[str]

Numéros de page personnalisés pour les documents multipage (PDF/TIFF). Entrez les numéros de page et/ou les plages de pages que vous souhaitez obtenir dans le résultat. Pour une plage de pages, utilisez un trait d’union, comme pages=["1-3 », « 5-6"]. Séparez chaque numéro de page ou plage par une virgule.

continuation_token
str

Jeton de continuation pour redémarrer un polleur à partir d’un état enregistré.

Retours

Instance d’un LROPoller. Appelez result() sur l’objet poller pour renvoyer une liste[RecognizedForm].

Type de retour

Exceptions

begin_recognize_receipts

Extrayez le texte de champ et les valeurs sémantiques d’un reçu de vente donné. Le document d’entrée doit être de l’un des types de contenu pris en charge : « application/pdf », « image/jpeg », « image/png », « image/tiff » ou « image/bmp ».

Consultez les champs trouvés sur un reçu ici : https://aka.ms/formrecognizer/receiptfields

Nouveautés de la version v2.1 : paramètres régionaux et pages mot clé arguments et prise en charge du contenu image/bmp

begin_recognize_receipts(receipt: bytes | IO[bytes], **kwargs: Any) -> LROPoller[List[RecognizedForm]]

Paramètres

receipt
bytes ou IO[bytes]
Obligatoire

Flux ou octets de fichiers de type JPEG, PNG, PDF, TIFF ou BMP.

include_field_elements
bool

Indique s’il faut inclure ou non toutes les lignes par page et les éléments de champ tels que les lignes, les mots et les marques de sélection pour chaque champ de formulaire.

content_type
str ou FormContentType

Type de contenu du corps envoyé à l’API. Le type de contenu est détecté automatiquement, mais peut être remplacé en passant cet argument mot clé. Pour connaître les options, consultez FormContentType.

continuation_token
str

Jeton de continuation pour redémarrer un polleur à partir d’un état enregistré.

locale
str

Paramètres régionaux du reçu. Les paramètres régionaux pris en charge sont les suivants : en-US, en-AU, en-CA, en-GB et en-IN.

pages
list[str]

Numéros de page personnalisés pour les documents multipage (PDF/TIFF). Entrez les numéros de page et/ou les plages de pages que vous souhaitez obtenir dans le résultat. Pour une plage de pages, utilisez un trait d’union, comme pages=["1-3 », « 5-6"]. Séparez chaque numéro de page ou plage par une virgule.

Retours

Instance d’un LROPoller. Appelez result() sur l’objet poller pour renvoyer une liste[RecognizedForm].

Type de retour

Exceptions

Exemples

Reconnaître les champs de reçu de vente.


   from azure.core.credentials import AzureKeyCredential
   from azure.ai.formrecognizer import FormRecognizerClient

   endpoint = os.environ["AZURE_FORM_RECOGNIZER_ENDPOINT"]
   key = os.environ["AZURE_FORM_RECOGNIZER_KEY"]

   form_recognizer_client = FormRecognizerClient(
       endpoint=endpoint, credential=AzureKeyCredential(key)
   )
   with open(path_to_sample_forms, "rb") as f:
       poller = form_recognizer_client.begin_recognize_receipts(receipt=f, locale="en-US")
   receipts = poller.result()

   for idx, receipt in enumerate(receipts):
       print("--------Recognizing receipt #{}--------".format(idx+1))
       receipt_type = receipt.fields.get("ReceiptType")
       if receipt_type:
           print("Receipt Type: {} has confidence: {}".format(receipt_type.value, receipt_type.confidence))
       merchant_name = receipt.fields.get("MerchantName")
       if merchant_name:
           print("Merchant Name: {} has confidence: {}".format(merchant_name.value, merchant_name.confidence))
       transaction_date = receipt.fields.get("TransactionDate")
       if transaction_date:
           print("Transaction Date: {} has confidence: {}".format(transaction_date.value, transaction_date.confidence))
       if receipt.fields.get("Items"):
           print("Receipt items:")
           for idx, item in enumerate(receipt.fields.get("Items").value):
               print("...Item #{}".format(idx+1))
               item_name = item.value.get("Name")
               if item_name:
                   print("......Item Name: {} has confidence: {}".format(item_name.value, item_name.confidence))
               item_quantity = item.value.get("Quantity")
               if item_quantity:
                   print("......Item Quantity: {} has confidence: {}".format(item_quantity.value, item_quantity.confidence))
               item_price = item.value.get("Price")
               if item_price:
                   print("......Individual Item Price: {} has confidence: {}".format(item_price.value, item_price.confidence))
               item_total_price = item.value.get("TotalPrice")
               if item_total_price:
                   print("......Total Item Price: {} has confidence: {}".format(item_total_price.value, item_total_price.confidence))
       subtotal = receipt.fields.get("Subtotal")
       if subtotal:
           print("Subtotal: {} has confidence: {}".format(subtotal.value, subtotal.confidence))
       tax = receipt.fields.get("Tax")
       if tax:
           print("Tax: {} has confidence: {}".format(tax.value, tax.confidence))
       tip = receipt.fields.get("Tip")
       if tip:
           print("Tip: {} has confidence: {}".format(tip.value, tip.confidence))
       total = receipt.fields.get("Total")
       if total:
           print("Total: {} has confidence: {}".format(total.value, total.confidence))
       print("--------------------------------------")

begin_recognize_receipts_from_url

Extrayez le texte de champ et les valeurs sémantiques d’un reçu de vente donné. Le document d’entrée doit être l’emplacement (URL) du reçu à analyser.

Consultez les champs trouvés sur un reçu ici : https://aka.ms/formrecognizer/receiptfields

Nouveautés de la version v2.1 : paramètres régionaux et pages mot clé arguments et prise en charge du contenu image/bmp

begin_recognize_receipts_from_url(receipt_url: str, **kwargs: Any) -> LROPoller[List[RecognizedForm]]

Paramètres

receipt_url
str
Obligatoire

URL du reçu à analyser. L’entrée doit être une URL valide et encodée de l’un des formats pris en charge : JPEG, PNG, PDF, TIFF ou BMP.

include_field_elements
bool

Indique s’il faut inclure ou non toutes les lignes par page et les éléments de champ tels que les lignes, les mots et les marques de sélection pour chaque champ de formulaire.

continuation_token
str

Jeton de continuation pour redémarrer un polleur à partir d’un état enregistré.

locale
str

Paramètres régionaux du reçu. Les paramètres régionaux pris en charge sont les suivants : en-US, en-AU, en-CA, en-GB et en-IN.

pages
list[str]

Numéros de page personnalisés pour les documents multipage (PDF/TIFF). Entrez les numéros de page et/ou les plages de pages que vous souhaitez obtenir dans le résultat. Pour une plage de pages, utilisez un trait d’union, comme pages=["1-3 », « 5-6"]. Séparez chaque numéro de page ou plage par une virgule.

Retours

Instance d’un LROPoller. Appelez result() sur l’objet poller pour renvoyer une liste[RecognizedForm].

Type de retour

Exceptions

Exemples

Reconnaître les champs de confirmation de vente à partir d’une URL.


   from azure.core.credentials import AzureKeyCredential
   from azure.ai.formrecognizer import FormRecognizerClient

   endpoint = os.environ["AZURE_FORM_RECOGNIZER_ENDPOINT"]
   key = os.environ["AZURE_FORM_RECOGNIZER_KEY"]

   form_recognizer_client = FormRecognizerClient(
       endpoint=endpoint, credential=AzureKeyCredential(key)
   )
   url = "https://raw.githubusercontent.com/Azure/azure-sdk-for-python/main/sdk/formrecognizer/azure-ai-formrecognizer/tests/sample_forms/receipt/contoso-receipt.png"
   poller = form_recognizer_client.begin_recognize_receipts_from_url(receipt_url=url)
   receipts = poller.result()

   for idx, receipt in enumerate(receipts):
       print("--------Recognizing receipt #{}--------".format(idx+1))
       receipt_type = receipt.fields.get("ReceiptType")
       if receipt_type:
           print("Receipt Type: {} has confidence: {}".format(receipt_type.value, receipt_type.confidence))
       merchant_name = receipt.fields.get("MerchantName")
       if merchant_name:
           print("Merchant Name: {} has confidence: {}".format(merchant_name.value, merchant_name.confidence))
       transaction_date = receipt.fields.get("TransactionDate")
       if transaction_date:
           print("Transaction Date: {} has confidence: {}".format(transaction_date.value, transaction_date.confidence))
       if receipt.fields.get("Items"):
           print("Receipt items:")
           for idx, item in enumerate(receipt.fields.get("Items").value):
               print("...Item #{}".format(idx+1))
               item_name = item.value.get("Name")
               if item_name:
                   print("......Item Name: {} has confidence: {}".format(item_name.value, item_name.confidence))
               item_quantity = item.value.get("Quantity")
               if item_quantity:
                   print("......Item Quantity: {} has confidence: {}".format(item_quantity.value, item_quantity.confidence))
               item_price = item.value.get("Price")
               if item_price:
                   print("......Individual Item Price: {} has confidence: {}".format(item_price.value, item_price.confidence))
               item_total_price = item.value.get("TotalPrice")
               if item_total_price:
                   print("......Total Item Price: {} has confidence: {}".format(item_total_price.value, item_total_price.confidence))
       subtotal = receipt.fields.get("Subtotal")
       if subtotal:
           print("Subtotal: {} has confidence: {}".format(subtotal.value, subtotal.confidence))
       tax = receipt.fields.get("Tax")
       if tax:
           print("Tax: {} has confidence: {}".format(tax.value, tax.confidence))
       tip = receipt.fields.get("Tip")
       if tip:
           print("Tip: {} has confidence: {}".format(tip.value, tip.confidence))
       total = receipt.fields.get("Total")
       if total:
           print("Total: {} has confidence: {}".format(total.value, total.confidence))
       print("--------------------------------------")

close

Fermez la FormRecognizerClient session.

close() -> None

Exceptions

send_request

Exécute une requête réseau à l’aide du pipeline existant du client.

L’URL de requête peut être relative à l’URL de base. La version de l’API de service utilisée pour la requête est identique à celle du client, sauf indication contraire. La substitution de la version de l’API configurée du client dans l’URL relative est prise en charge sur le client avec la version d’API 2022-08-31 et ultérieure. Substitution dans l’URL absolue prise en charge sur le client avec n’importe quelle version d’API. Cette méthode ne déclenche pas si la réponse est une erreur ; pour déclencher une exception, appelez raise_for_status() sur l’objet de réponse retourné. Pour plus d’informations sur l’envoi de requêtes personnalisées avec cette méthode, consultez https://aka.ms/azsdk/dpcodegen/python/send_request.

send_request(request: HttpRequest, *, stream: bool = False, **kwargs) -> HttpResponse

Paramètres

request
HttpRequest
Obligatoire

Demande réseau que vous souhaitez effectuer.

stream
bool

Indique si la charge utile de réponse sera diffusée en continu. Valeur par défaut False.

Retours

Réponse de votre appel réseau. Ne gère pas les erreurs sur votre réponse.

Type de retour

Exceptions