Delen via


FormRecognizerClient Klas

FormRecognizerClient extraheert informatie uit formulieren en afbeeldingen in gestructureerde gegevens. Het is de interface die kan worden gebruikt voor het analyseren van vooraf samengestelde modellen (ontvangstbewijzen, visitekaartjes, facturen, identiteitsdocumenten), het herkennen van inhoud/indeling in formulieren en het analyseren van aangepaste formulieren van getrainde modellen. Het biedt verschillende methoden op basis van invoer van een URL en invoer uit een stream.

Notitie

FormRecognizerClient moet worden gebruikt met API-versies <=v2.1.

Als u API-versies 2022-08-31 en hoger wilt gebruiken, instantiëert u een DocumentAnalysisClient.

Overname
azure.ai.formrecognizer.aio._form_base_client_async.FormRecognizerClientBaseAsync
FormRecognizerClient

Constructor

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

Parameters

endpoint
str
Vereist

Ondersteunde Cognitive Services-eindpunten (protocol en hostnaam, bijvoorbeeld: https://westus2.api.cognitive.microsoft.com).

credential
AzureKeyCredential of AsyncTokenCredential
Vereist

Referenties die nodig zijn voor de client om verbinding te maken met Azure. Dit is een exemplaar van AzureKeyCredential als u een API-sleutel of een tokenreferentie van identitygebruikt.

api_version
str of FormRecognizerApiVersion

De API-versie van de service die moet worden gebruikt voor aanvragen. De standaardinstelling is API-versie v2.1. Instellen op een oudere versie kan leiden tot verminderde compatibiliteit van functies. Als u de nieuwste ondersteunde API-versie en -functies wilt gebruiken, maakt u in plaats daarvan een DocumentAnalysisClient.

Voorbeelden

De FormRecognizerClient maken met een eindpunt en API-sleutel.


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

   form_recognizer_client = FormRecognizerClient(endpoint, AzureKeyCredential(key))

De FormRecognizerClient maken met een tokenreferentie.


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

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

   form_recognizer_client = FormRecognizerClient(endpoint, credential)

Methoden

begin_recognize_business_cards

Veldtekst en semantische waarden extraheren uit een bepaald visitekaartje. Het invoerdocument moet van een van de ondersteunde inhoudstypen zijn: 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' of 'image/bmp'.

Bekijk hier de velden op een visitekaartje: https://aka.ms/formrecognizer/businesscardfields

Nieuw in versie v2.1: de begin_recognize_business_cards-clientmethode

begin_recognize_business_cards_from_url

Veldtekst en semantische waarden extraheren uit een bepaald visitekaartje. Het invoerdocument moet de locatie (URL) van de kaart zijn die moet worden geanalyseerd.

Bekijk hier de velden op een visitekaartje: https://aka.ms/formrecognizer/businesscardfields

Nieuw in versie v2.1: de begin_recognize_business_cards_from_url-clientmethode

begin_recognize_content

Tekst en inhoud/indelingsinformatie extraheren uit een bepaald document. Het invoerdocument moet van een van de ondersteunde inhoudstypen zijn: 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' of 'image/bmp'.

Nieuw in versie v2.1: de pagina's, taal en reading_order trefwoordargumenten en ondersteuning voor image/bmp-inhoud

begin_recognize_content_from_url

Tekst- en indelingsgegevens extraheren uit een bepaald document. Het invoerdocument moet de locatie (URL) zijn van het document dat moet worden geanalyseerd.

Nieuw in versie v2.1: de pagina's, taal en reading_order trefwoordargumenten en ondersteuning voor image/bmp-inhoud

begin_recognize_custom_forms

Een aangepast formulier analyseren met een model dat is getraind met of zonder labels. Het te analyseren formulier moet van hetzelfde type zijn als de formulieren die zijn gebruikt om het model te trainen. Het invoerdocument moet van een van de ondersteunde inhoudstypen zijn: 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' of 'image/bmp'.

begin_recognize_custom_forms_from_url

Een aangepast formulier analyseren met een model dat is getraind met of zonder labels. Het te analyseren formulier moet van hetzelfde type zijn als de formulieren die zijn gebruikt om het model te trainen. Het invoerdocument moet de locatie (URL) zijn van het document dat moet worden geanalyseerd.

begin_recognize_identity_documents

Veldtekst en semantische waarden extraheren uit een bepaald identiteitsdocument. Het invoerdocument moet van een van de ondersteunde inhoudstypen zijn: 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' of 'image/bmp'.

Bekijk hier de velden in een identiteitsdocument: https://aka.ms/formrecognizer/iddocumentfields

Nieuw in versie v2.1: de clientmethode begin_recognize_identity_documents

begin_recognize_identity_documents_from_url

Veldtekst en semantische waarden extraheren uit een bepaald identiteitsdocument. Het invoerdocument moet de locatie (URL) zijn van het identiteitsdocument dat moet worden geanalyseerd.

Bekijk hier de velden in een identiteitsdocument: https://aka.ms/formrecognizer/iddocumentfields

Nieuw in versie v2.1: de begin_recognize_identity_documents_from_url-clientmethode

begin_recognize_invoices

Veldtekst en semantische waarden extraheren uit een bepaalde factuur. Het invoerdocument moet van een van de ondersteunde inhoudstypen zijn: 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' of 'image/bmp'.

Bekijk hier de velden op een factuur: https://aka.ms/formrecognizer/invoicefields

Nieuw in versie v2.1: de begin_recognize_invoices-clientmethode

begin_recognize_invoices_from_url

Veldtekst en semantische waarden extraheren uit een bepaalde factuur. Het invoerdocument moet de locatie (URL) van de factuur zijn die moet worden geanalyseerd.

Bekijk hier de velden op een factuurkaart: https://aka.ms/formrecognizer/invoicefields

Nieuw in versie v2.1: de begin_recognize_invoices_from_url-clientmethode

begin_recognize_receipts

Veldtekst en semantische waarden extraheren uit een bepaald verkoopbewijs. Het invoerdocument moet van een van de ondersteunde inhoudstypen zijn: 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' of 'image/bmp'.

Bekijk hier de velden op een ontvangstbewijs: https://aka.ms/formrecognizer/receiptfields

Nieuw in versie v2.1: Het sleutelwoordargument voor landinstellingen en ondersteuning voor afbeeldings-/bmp-inhoud

begin_recognize_receipts_from_url

Veldtekst en semantische waarden extraheren uit een bepaald verkoopbewijs. Het invoerdocument moet de locatie (URL) zijn van het ontvangstbewijs dat moet worden geanalyseerd.

Bekijk hier de velden op een ontvangstbewijs: https://aka.ms/formrecognizer/receiptfields

Nieuw in versie v2.1: Het sleutelwoordargument voor landinstellingen en ondersteuning voor afbeeldings-/bmp-inhoud

close

Sluit de FormRecognizerClient sessie.

send_request

Hiermee wordt een netwerkaanvraag uitgevoerd met behulp van de bestaande pijplijn van de client.

De aanvraag-URL kan relatief zijn ten opzichte van de basis-URL. De service-API-versie die voor de aanvraag wordt gebruikt, is dezelfde als die van de client, tenzij anders opgegeven. Het overschrijven van de geconfigureerde API-versie van de client in relatieve URL wordt ondersteund op de client met API-versie 2022-08-31 en hoger. Overschrijven in absolute URL die wordt ondersteund op client met elke API-versie. Deze methode wordt niet gegenereerd als het antwoord een fout is; als u een uitzondering wilt maken, roept u raise_for_status() aan op het geretourneerde antwoordobject. Zie voor meer informatie over het verzenden van aangepaste aanvragen met deze methode https://aka.ms/azsdk/dpcodegen/python/send_request.

begin_recognize_business_cards

Veldtekst en semantische waarden extraheren uit een bepaald visitekaartje. Het invoerdocument moet van een van de ondersteunde inhoudstypen zijn: 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' of 'image/bmp'.

Bekijk hier de velden op een visitekaartje: https://aka.ms/formrecognizer/businesscardfields

Nieuw in versie v2.1: de begin_recognize_business_cards-clientmethode

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

Parameters

business_card
bytes of IO[bytes]
Vereist

Jpeg-, PNG-, PDF-, TIFF- of BMP-bestandstypen of bytes.

locale
str

Landinstelling van het visitekaartje. Ondersteunde landinstellingen zijn: en-US, en-AU, en-CA, en-GB en en-IN.

include_field_elements
bool

Hiermee wordt aangegeven of alle regels per pagina en veldelementen, zoals regels, woorden en selectiemarkeringen, voor elk formulierveld moeten worden opgenomen.

content_type
str of FormContentType

Inhoudstype van de hoofdtekst die naar de API is verzonden. Inhoudstype wordt automatisch gedetecteerd, maar kan worden overschreven door dit trefwoordargument door te geven. Zie voor opties FormContentType.

pages
list[str]

Aangepaste paginanummers voor documenten met meerdere pagina's (PDF/TIFF). Voer de paginanummers en/of paginabereiken in die u in het resultaat wilt ophalen. Gebruik voor een reeks pagina's een afbreekstreepje, zoals pages=["1-3", "5-6"]. Scheid elk paginanummer of elk paginabereik met een komma.

continuation_token
str

Een vervolgtoken om een poller opnieuw te starten vanuit een opgeslagen status.

Retouren

Een exemplaar van een AsyncLROPoller. Roep result() aan op het poller-object om een lijst[RecognizedForm] te retourneren.

Retourtype

Uitzonderingen

Voorbeelden

Visitekaartjes herkennen uit een bestand.


   from azure.core.credentials import AzureKeyCredential
   from azure.ai.formrecognizer.aio 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)
   )
   async with form_recognizer_client:
       with open(path_to_sample_forms, "rb") as f:
           poller = await form_recognizer_client.begin_recognize_business_cards(business_card=f, locale="en-US")
       business_cards = await 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

Veldtekst en semantische waarden extraheren uit een bepaald visitekaartje. Het invoerdocument moet de locatie (URL) van de kaart zijn die moet worden geanalyseerd.

Bekijk hier de velden op een visitekaartje: https://aka.ms/formrecognizer/businesscardfields

Nieuw in versie v2.1: de begin_recognize_business_cards_from_url-clientmethode

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

Parameters

business_card_url
str
Vereist

De URL van het te analyseren visitekaartje. De invoer moet een geldige, gecodeerde URL van een van de ondersteunde indelingen zijn: JPEG, PNG, PDF, TIFF of BMP.

locale
str

Landinstelling van het visitekaartje. Ondersteunde landinstellingen zijn: en-US, en-AU, en-CA, en-GB en en-IN.

include_field_elements
bool

Hiermee wordt aangegeven of alle regels per pagina en veldelementen, zoals regels, woorden en selectiemarkeringen, voor elk formulierveld moeten worden opgenomen.

pages
list[str]

Aangepaste paginanummers voor documenten met meerdere pagina's (PDF/TIFF). Voer de paginanummers en/of paginabereiken in die u in het resultaat wilt ophalen. Gebruik voor een reeks pagina's een afbreekstreepje, zoals pages=["1-3", "5-6"]. Scheid elk paginanummer of elk paginabereik met een komma.

continuation_token
str

Een vervolgtoken om een poller opnieuw te starten vanuit een opgeslagen status.

Retouren

Een exemplaar van een AsyncLROPoller. Roep result() aan op het poller-object om een lijst[RecognizedForm] te retourneren.

Retourtype

Uitzonderingen

begin_recognize_content

Tekst en inhoud/indelingsinformatie extraheren uit een bepaald document. Het invoerdocument moet van een van de ondersteunde inhoudstypen zijn: 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' of 'image/bmp'.

Nieuw in versie v2.1: de pagina's, taal en reading_order trefwoordargumenten en ondersteuning voor image/bmp-inhoud

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

Parameters

form
bytes of IO[bytes]
Vereist

Jpeg-, PNG-, PDF-, TIFF- of BMP-bestandstypen of bytes.

pages
list[str]

Aangepaste paginanummers voor documenten met meerdere pagina's (PDF/TIFF). Voer de paginanummers en/of paginabereiken in die u in het resultaat wilt ophalen. Gebruik voor een reeks pagina's een afbreekstreepje, zoals pages=["1-3", "5-6"]. Scheid elk paginanummer of elk paginabereik met een komma.

language
str

De BCP-47-taalcode van de tekst in het document. Bekijk hier ondersteunde taalcodes: https://docs.microsoft.com/azure/cognitive-services/form-recognizer/language-support. Inhoud ondersteunt automatische taalidentificatie en meertalige documenten, dus geef alleen een taalcode op als u wilt afdwingen dat de gedocumenteerde documenten worden verwerkt als die specifieke taal.

reading_order
str

Algoritme voor leesvolgorde om de geretourneerde tekstregels te sorteren. Ondersteunde leesvolgordes zijn onder andere: basic (standaard), natuurlijk. Stel 'basic' in om lijnen van links naar rechts en van boven naar beneden te sorteren, hoewel in sommige gevallen nabijheid met een hogere prioriteit wordt behandeld. Stel 'natuurlijk' in om lijnen te sorteren met behulp van positionele informatie om nabijgelegen lijnen bij elkaar te houden.

content_type
str of FormContentType

Inhoudstype van de hoofdtekst die naar de API is verzonden. Inhoudstype wordt automatisch gedetecteerd, maar kan worden overschreven door dit trefwoordargument door te geven. Zie voor opties FormContentType.

continuation_token
str

Een vervolgtoken om een poller opnieuw te starten vanuit een opgeslagen status.

Retouren

Een exemplaar van een AsyncLROPoller. Roep result() aan op het poller-object om een lijst[FormPage] te retourneren.

Retourtype

Uitzonderingen

Voorbeelden

Tekst en inhoud/indelingsinformatie van een formulier herkennen.


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

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

   async with FormRecognizerClient(
       endpoint=endpoint, credential=AzureKeyCredential(key)
   ) as form_recognizer_client:

       with open(path_to_sample_forms, "rb") as f:
           poller = await form_recognizer_client.begin_recognize_content(form=f)

       form_pages = await 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

Tekst- en indelingsgegevens extraheren uit een bepaald document. Het invoerdocument moet de locatie (URL) zijn van het document dat moet worden geanalyseerd.

Nieuw in versie v2.1: de pagina's, taal en reading_order trefwoordargumenten en ondersteuning voor image/bmp-inhoud

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

Parameters

form_url
str
Vereist

De URL van het formulier dat moet worden geanalyseerd. De invoer moet een geldige, gecodeerde URL van een van de ondersteunde indelingen zijn: JPEG, PNG, PDF, TIFF of BMP.

pages
list[str]

Aangepaste paginanummers voor documenten met meerdere pagina's (PDF/TIFF). Voer de paginanummers en/of paginabereiken in die u in het resultaat wilt ophalen. Gebruik voor een reeks pagina's een afbreekstreepje, zoals pages=["1-3", "5-6"]. Scheid elk paginanummer of elk paginabereik met een komma.

language
str

De BCP-47-taalcode van de tekst in het document. Bekijk hier ondersteunde taalcodes: https://docs.microsoft.com/azure/cognitive-services/form-recognizer/language-support. Inhoud ondersteunt automatische taalidentificatie en meertalige documenten, dus geef alleen een taalcode op als u wilt afdwingen dat de gedocumenteerde documenten worden verwerkt als die specifieke taal.

reading_order
str

Algoritme voor leesvolgorde om de geretourneerde tekstregels te sorteren. Ondersteunde leesvolgordes zijn onder andere: basic (standaard), natuurlijk. Stel 'basic' in om lijnen van links naar rechts en van boven naar beneden te sorteren, hoewel in sommige gevallen nabijheid met een hogere prioriteit wordt behandeld. Stel 'natuurlijk' in om lijnen te sorteren met behulp van positionele informatie om nabijgelegen lijnen bij elkaar te houden.

continuation_token
str

Een vervolgtoken om een poller opnieuw te starten vanuit een opgeslagen status.

Retouren

Een exemplaar van een AsyncLROPoller. Roep result() aan op het poller-object om een lijst[FormPage] te retourneren.

Retourtype

Uitzonderingen

begin_recognize_custom_forms

Een aangepast formulier analyseren met een model dat is getraind met of zonder labels. Het te analyseren formulier moet van hetzelfde type zijn als de formulieren die zijn gebruikt om het model te trainen. Het invoerdocument moet van een van de ondersteunde inhoudstypen zijn: 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' of 'image/bmp'.

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

Parameters

model_id
str
Vereist

Aangepaste model-id.

form
bytes of IO[bytes]
Vereist

Jpeg-, PNG-, PDF-, TIFF- of BMP-bestandstypen of bytes.

include_field_elements
bool

Hiermee wordt aangegeven of alle regels per pagina en veldelementen, zoals regels, woorden en selectiemarkeringen, voor elk formulierveld moeten worden opgenomen.

content_type
str of FormContentType

Inhoudstype van de hoofdtekst die naar de API is verzonden. Inhoudstype wordt automatisch gedetecteerd, maar kan worden overschreven door dit trefwoordargument door te geven. Zie voor opties FormContentType.

pages
list[str]

Aangepaste paginanummers voor documenten met meerdere pagina's (PDF/TIFF). Voer de paginanummers en/of paginabereiken in die u in het resultaat wilt ophalen. Gebruik voor een reeks pagina's een afbreekstreepje, zoals pages=["1-3", "5-6"]. Scheid elk paginanummer of elk paginabereik met een komma.

continuation_token
str

Een vervolgtoken om een poller opnieuw te starten vanuit een opgeslagen status.

Retouren

Een exemplaar van een AsyncLROPoller. Roep result() aan op het poller-object om een lijst[RecognizedForm] te retourneren.

Retourtype

Uitzonderingen

Voorbeelden

Velden en waarden herkennen uit een aangepast formulier.


   from azure.core.credentials import AzureKeyCredential
   from azure.ai.formrecognizer.aio 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)

   async with FormRecognizerClient(
       endpoint=endpoint, credential=AzureKeyCredential(key)
   ) as form_recognizer_client:

       # 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 = await form_recognizer_client.begin_recognize_custom_forms(
               model_id=model_id, form=f, include_field_elements=True
           )
       forms = await 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

Een aangepast formulier analyseren met een model dat is getraind met of zonder labels. Het te analyseren formulier moet van hetzelfde type zijn als de formulieren die zijn gebruikt om het model te trainen. Het invoerdocument moet de locatie (URL) zijn van het document dat moet worden geanalyseerd.

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

Parameters

model_id
str
Vereist

Aangepaste model-id.

form_url
str
Vereist

De URL van het formulier dat moet worden geanalyseerd. De invoer moet een geldige, gecodeerde URL van een van de ondersteunde indelingen zijn: JPEG, PNG, PDF, TIFF of BMP.

include_field_elements
bool

Hiermee wordt aangegeven of alle regels per pagina en veldelementen, zoals regels, woorden en selectiemarkeringen, voor elk formulierveld moeten worden opgenomen.

pages
list[str]

Aangepaste paginanummers voor documenten met meerdere pagina's (PDF/TIFF). Voer de paginanummers en/of paginabereiken in die u in het resultaat wilt ophalen. Gebruik voor een reeks pagina's een afbreekstreepje, zoals pages=["1-3", "5-6"]. Scheid elk paginanummer of elk paginabereik met een komma.

continuation_token
str

Een vervolgtoken om een poller opnieuw te starten vanuit een opgeslagen status.

Retouren

Een exemplaar van een AsyncLROPoller. Roep result() aan op het poller-object om een lijst[RecognizedForm] te retourneren.

Retourtype

Uitzonderingen

begin_recognize_identity_documents

Veldtekst en semantische waarden extraheren uit een bepaald identiteitsdocument. Het invoerdocument moet van een van de ondersteunde inhoudstypen zijn: 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' of 'image/bmp'.

Bekijk hier de velden in een identiteitsdocument: https://aka.ms/formrecognizer/iddocumentfields

Nieuw in versie v2.1: de clientmethode begin_recognize_identity_documents

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

Parameters

identity_document
bytes of IO[bytes]
Vereist

Jpeg-, PNG-, PDF-, TIFF- of BMP-bestandstypen of bytes.

include_field_elements
bool

Hiermee wordt aangegeven of alle regels per pagina en veldelementen, zoals regels, woorden en selectiemarkeringen, voor elk formulierveld moeten worden opgenomen.

content_type
str of FormContentType

Inhoudstype van de hoofdtekst die naar de API is verzonden. Inhoudstype wordt automatisch gedetecteerd, maar kan worden overschreven door dit trefwoordargument door te geven. Zie voor opties FormContentType.

continuation_token
str

Een vervolgtoken om een poller opnieuw te starten vanuit een opgeslagen status.

pages
list[str]

Aangepaste paginanummers voor documenten met meerdere pagina's (PDF/TIFF). Voer de paginanummers en/of paginabereiken in die u in het resultaat wilt ophalen. Gebruik voor een reeks pagina's een afbreekstreepje, zoals pages=["1-3", "5-6"]. Scheid elk paginanummer of elk paginabereik met een komma.

Retouren

Een exemplaar van een AsyncLROPoller. Roep result() aan op het poller-object om een lijst[RecognizedForm] te retourneren.

Retourtype

Uitzonderingen

Voorbeelden

Identiteitsdocumenten herkennen uit een bestand.


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

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

   async with FormRecognizerClient(
       endpoint=endpoint, credential=AzureKeyCredential(key)
   ) as form_recognizer_client:
       
       with open(path_to_sample_forms, "rb") as f:
           poller = await form_recognizer_client.begin_recognize_identity_documents(identity_document=f)
       
       id_documents = await 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

Veldtekst en semantische waarden extraheren uit een bepaald identiteitsdocument. Het invoerdocument moet de locatie (URL) zijn van het identiteitsdocument dat moet worden geanalyseerd.

Bekijk hier de velden in een identiteitsdocument: https://aka.ms/formrecognizer/iddocumentfields

Nieuw in versie v2.1: de begin_recognize_identity_documents_from_url-clientmethode

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

Parameters

identity_document_url
str
Vereist

De URL van het identiteitsdocument dat moet worden geanalyseerd. De invoer moet een geldige, gecodeerde URL van een van de ondersteunde indelingen zijn: JPEG, PNG, PDF, TIFF of BMP.

include_field_elements
bool

Hiermee wordt aangegeven of alle regels per pagina en veldelementen, zoals regels, woorden en selectiemarkeringen, voor elk formulierveld moeten worden opgenomen.

continuation_token
str

Een vervolgtoken om een poller opnieuw te starten vanuit een opgeslagen status.

pages
list[str]

Aangepaste paginanummers voor documenten met meerdere pagina's (PDF/TIFF). Voer de paginanummers en/of paginabereiken in die u in het resultaat wilt ophalen. Gebruik voor een reeks pagina's een afbreekstreepje, zoals pages=["1-3", "5-6"]. Scheid elk paginanummer of elk paginabereik met een komma.

Retouren

Een exemplaar van een AsyncLROPoller. Roep result() aan op het poller-object om een lijst[RecognizedForm] te retourneren.

Retourtype

Uitzonderingen

begin_recognize_invoices

Veldtekst en semantische waarden extraheren uit een bepaalde factuur. Het invoerdocument moet van een van de ondersteunde inhoudstypen zijn: 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' of 'image/bmp'.

Bekijk hier de velden op een factuur: https://aka.ms/formrecognizer/invoicefields

Nieuw in versie v2.1: de begin_recognize_invoices-clientmethode

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

Parameters

invoice
bytes of IO[bytes]
Vereist

Jpeg-, PNG-, PDF-, TIFF- of BMP-bestandstypen of bytes.

locale
str

Landinstelling van de factuur. Ondersteunde landinstellingen zijn onder andere: en-US

include_field_elements
bool

Hiermee wordt aangegeven of alle regels per pagina en veldelementen, zoals regels, woorden en selectiemarkeringen, voor elk formulierveld moeten worden opgenomen.

content_type
str of FormContentType

Inhoudstype van de hoofdtekst die naar de API is verzonden. Inhoudstype wordt automatisch gedetecteerd, maar kan worden overschreven door dit trefwoordargument door te geven. Zie voor opties FormContentType.

pages
list[str]

Aangepaste paginanummers voor documenten met meerdere pagina's (PDF/TIFF). Voer de paginanummers en/of paginabereiken in die u in het resultaat wilt ophalen. Gebruik voor een reeks pagina's een afbreekstreepje, zoals pages=["1-3", "5-6"]. Scheid elk paginanummer of elk paginabereik met een komma.

continuation_token
str

Een vervolgtoken om een poller opnieuw te starten vanuit een opgeslagen status.

Retouren

Een exemplaar van een AsyncLROPoller. Roep result() aan op het poller-object om een lijst[RecognizedForm] te retourneren.

Retourtype

Uitzonderingen

Voorbeelden

Facturen uit een bestand herkennen.


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

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

   async with FormRecognizerClient(
       endpoint=endpoint, credential=AzureKeyCredential(key)
   ) as form_recognizer_client:
       with open(path_to_sample_forms, "rb") as f:
           poller = await form_recognizer_client.begin_recognize_invoices(invoice=f, locale="en-US")
       invoices = await 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

Veldtekst en semantische waarden extraheren uit een bepaalde factuur. Het invoerdocument moet de locatie (URL) van de factuur zijn die moet worden geanalyseerd.

Bekijk hier de velden op een factuurkaart: https://aka.ms/formrecognizer/invoicefields

Nieuw in versie v2.1: de begin_recognize_invoices_from_url-clientmethode

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

Parameters

invoice_url
str
Vereist

De URL van de factuur die moet worden geanalyseerd. De invoer moet een geldige, gecodeerde URL van een van de ondersteunde indelingen zijn: JPEG, PNG, PDF, TIFF of BMP.

locale
str

Landinstelling van de factuur. Ondersteunde landinstellingen zijn onder andere: en-US

include_field_elements
bool

Hiermee wordt aangegeven of alle regels per pagina en veldelementen, zoals regels, woorden en selectiemarkeringen, voor elk formulierveld moeten worden opgenomen.

pages
list[str]

Aangepaste paginanummers voor documenten met meerdere pagina's (PDF/TIFF). Voer de paginanummers en/of paginabereiken in die u in het resultaat wilt ophalen. Gebruik voor een reeks pagina's een afbreekstreepje, zoals pages=["1-3", "5-6"]. Scheid elk paginanummer of elk paginabereik met een komma.

continuation_token
str

Een vervolgtoken om een poller opnieuw te starten vanuit een opgeslagen status.

Retouren

Een exemplaar van een AsyncLROPoller. Roep result() aan op het poller-object om een lijst[RecognizedForm] te retourneren.

Retourtype

Uitzonderingen

begin_recognize_receipts

Veldtekst en semantische waarden extraheren uit een bepaald verkoopbewijs. Het invoerdocument moet van een van de ondersteunde inhoudstypen zijn: 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' of 'image/bmp'.

Bekijk hier de velden op een ontvangstbewijs: https://aka.ms/formrecognizer/receiptfields

Nieuw in versie v2.1: Het sleutelwoordargument voor landinstellingen en ondersteuning voor afbeeldings-/bmp-inhoud

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

Parameters

receipt
bytes of IO[bytes]
Vereist

Jpeg-, PNG-, PDF-, TIFF- of BMP-bestandstypen of bytes.

include_field_elements
bool

Hiermee wordt aangegeven of alle regels per pagina en veldelementen, zoals regels, woorden en selectiemarkeringen, voor elk formulierveld moeten worden opgenomen.

content_type
str of FormContentType

Inhoudstype van de hoofdtekst die naar de API is verzonden. Inhoudstype wordt automatisch gedetecteerd, maar kan worden overschreven door dit trefwoordargument door te geven. Zie voor opties FormContentType.

continuation_token
str

Een vervolgtoken om een poller opnieuw te starten vanuit een opgeslagen status.

locale
str

Landinstelling van het ontvangstbewijs. Ondersteunde landinstellingen zijn: en-US, en-AU, en-CA, en-GB en en-IN.

pages
list[str]

Aangepaste paginanummers voor documenten met meerdere pagina's (PDF/TIFF). Voer de paginanummers en/of paginabereiken in die u in het resultaat wilt ophalen. Gebruik voor een reeks pagina's een afbreekstreepje, zoals pages=["1-3", "5-6"]. Scheid elk paginanummer of elk paginabereik met een komma.

Retouren

Een exemplaar van een AsyncLROPoller. Roep result() aan op het poller-object om een lijst[RecognizedForm] te retourneren.

Retourtype

Uitzonderingen

Voorbeelden

Verkoopbevestigingsvelden herkennen.


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

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

   async with FormRecognizerClient(
       endpoint=endpoint, credential=AzureKeyCredential(key)
   ) as form_recognizer_client:

       with open(path_to_sample_forms, "rb") as f:
           poller = await form_recognizer_client.begin_recognize_receipts(receipt=f, locale="en-US")

       receipts = await 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

Veldtekst en semantische waarden extraheren uit een bepaald verkoopbewijs. Het invoerdocument moet de locatie (URL) zijn van het ontvangstbewijs dat moet worden geanalyseerd.

Bekijk hier de velden op een ontvangstbewijs: https://aka.ms/formrecognizer/receiptfields

Nieuw in versie v2.1: Het sleutelwoordargument voor landinstellingen en ondersteuning voor afbeeldings-/bmp-inhoud

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

Parameters

receipt_url
str
Vereist

De URL van de ontvangstbevestiging die moet worden geanalyseerd. De invoer moet een geldige, gecodeerde URL van een van de ondersteunde indelingen zijn: JPEG, PNG, PDF, TIFF of BMP.

include_field_elements
bool

Hiermee wordt aangegeven of alle regels per pagina en veldelementen, zoals regels, woorden en selectiemarkeringen, voor elk formulierveld moeten worden opgenomen.

continuation_token
str

Een vervolgtoken om een poller opnieuw te starten vanuit een opgeslagen status.

locale
str

Landinstelling van het ontvangstbewijs. Ondersteunde landinstellingen zijn: en-US, en-AU, en-CA, en-GB en en-IN.

pages
list[str]

Aangepaste paginanummers voor documenten met meerdere pagina's (PDF/TIFF). Voer de paginanummers en/of paginabereiken in die u in het resultaat wilt ophalen. Gebruik voor een reeks pagina's een afbreekstreepje, zoals pages=["1-3", "5-6"]. Scheid elk paginanummer of elk paginabereik met een komma.

Retouren

Een exemplaar van een AsyncLROPoller. Roep result() aan op het poller-object om een lijst[RecognizedForm] te retourneren.

Retourtype

Uitzonderingen

Voorbeelden

Verkoopbevestigingsvelden herkennen vanuit een URL.


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

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

   async with FormRecognizerClient(
       endpoint=endpoint, credential=AzureKeyCredential(key)
   ) as form_recognizer_client:
       url = "https://raw.githubusercontent.com/Azure/azure-sdk-for-python/main/sdk/formrecognizer/azure-ai-formrecognizer/tests/sample_forms/receipt/contoso-receipt.png"
       poller = await form_recognizer_client.begin_recognize_receipts_from_url(receipt_url=url)
       receipts = await 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

Sluit de FormRecognizerClient sessie.

async close() -> None

Uitzonderingen

send_request

Hiermee wordt een netwerkaanvraag uitgevoerd met behulp van de bestaande pijplijn van de client.

De aanvraag-URL kan relatief zijn ten opzichte van de basis-URL. De service-API-versie die voor de aanvraag wordt gebruikt, is dezelfde als die van de client, tenzij anders opgegeven. Het overschrijven van de geconfigureerde API-versie van de client in relatieve URL wordt ondersteund op de client met API-versie 2022-08-31 en hoger. Overschrijven in absolute URL die wordt ondersteund op client met elke API-versie. Deze methode wordt niet gegenereerd als het antwoord een fout is; als u een uitzondering wilt maken, roept u raise_for_status() aan op het geretourneerde antwoordobject. Zie voor meer informatie over het verzenden van aangepaste aanvragen met deze methode https://aka.ms/azsdk/dpcodegen/python/send_request.

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

Parameters

request
HttpRequest
Vereist

De netwerkaanvraag die u wilt maken.

Retouren

Het antwoord van uw netwerkoproep. Er wordt geen foutafhandeling uitgevoerd voor uw antwoord.

Retourtype

Uitzonderingen