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.FormRecognizerClientBaseAsyncFormRecognizerClient
Constructor
FormRecognizerClient(endpoint: str, credential: AzureKeyCredential | AsyncTokenCredential, **kwargs: Any)
Parameters
- endpoint
- str
Ondersteunde Cognitive Services-eindpunten (protocol en hostnaam, bijvoorbeeld: https://westus2.api.cognitive.microsoft.com).
- credential
- AzureKeyCredential of AsyncTokenCredential
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
- 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.
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
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.
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
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
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.
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
- 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.
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
- form_url
- str
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.
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
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.
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
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.
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
- 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.
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
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.
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
- 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.
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
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.
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
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
Retouren
Het antwoord van uw netwerkoproep. Er wordt geen foutafhandeling uitgevoerd voor uw antwoord.
Retourtype
Uitzonderingen
Azure SDK for Python