FormRecognizerClient Třída

FormRecognizerClient extrahuje informace z formulářů a obrázků do strukturovaných dat. Je to rozhraní pro analýzu s předem vytvořenými modely (účtenky, vizitky, faktury, dokumenty identity), rozpoznávání obsahu a rozložení z formulářů a analýzu vlastních formulářů z natrénovaných modelů. Poskytuje různé metody založené na vstupech z adresy URL a vstupech ze streamu.

Poznámka

FormRecognizerClient by se měl používat s verzemi <rozhraní API =v2.1.

Pokud chcete používat rozhraní API verze 2022-08-31 a novější, vytvořte instanci DocumentAnalysisClient.

Dědičnost
azure.ai.formrecognizer._form_base_client.FormRecognizerClientBase
FormRecognizerClient

Konstruktor

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

Parametry

endpoint
str
Vyžadováno

Podporované koncové body služeb Cognitive Services (protokol a název hostitele, například: https://westus2.api.cognitive.microsoft.com).

credential
AzureKeyCredential nebo TokenCredential
Vyžadováno

Přihlašovací údaje potřebné pro připojení klienta k Azure Jedná se o instanci AzureKeyCredential, pokud používáte klíč rozhraní API nebo přihlašovací údaje tokenu z identity.

api_version
str nebo FormRecognizerApiVersion

Verze rozhraní API služby, která se má použít pro požadavky. Výchozí hodnota je verze rozhraní API v2.1. Nastavení na starší verzi může mít za následek snížení kompatibility funkcí. Pokud chcete použít nejnovější podporovanou verzi a funkce rozhraní API, vytvořte místo toho instanci DocumentAnalysisClient.

Příklady

Vytvoření objektu FormRecognizerClient s koncovým bodem a klíčem rozhraní API


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

   form_recognizer_client = FormRecognizerClient(endpoint, AzureKeyCredential(key))

Vytvoření klienta FormRecognizerClient s přihlašovacími údaji tokenu


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

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

   form_recognizer_client = FormRecognizerClient(endpoint, credential)

Metody

begin_recognize_business_cards

Extrahuje text pole a sémantické hodnoty z dané vizitky. Vstupní dokument musí mít jeden z podporovaných typů obsahu – "application/pdf", "image/jpeg", "image/png", "image/tiff" nebo "image/bmp".

Pole nalezená na vizitce si můžete prohlédnout tady: https://aka.ms/formrecognizer/businesscardfields

Novinka ve verzi v2.1: Metoda klienta begin_recognize_business_cards

begin_recognize_business_cards_from_url

Extrahuje text pole a sémantické hodnoty z dané vizitky. Vstupní dokument musí být umístění (adresa URL) karty, která se má analyzovat.

Pole nalezená na vizitce si můžete prohlédnout tady: https://aka.ms/formrecognizer/businesscardfields

Novinka ve verzi v2.1: Metoda klienta begin_recognize_business_cards_from_url

begin_recognize_content

Extrahujte z daného dokumentu text a informace o obsahu nebo rozložení. Vstupní dokument musí mít jeden z podporovaných typů obsahu – "application/pdf", "image/jpeg", "image/png", "image/tiff" nebo "image/bmp".

Novinka ve verzi v2.1: Stránky, jazyk a reading_order argumenty klíčových slov a podpora obsahu obrázku/bmp

begin_recognize_content_from_url

Extrahuje text a informace o rozložení z daného dokumentu. Vstupní dokument musí být umístění (adresa URL) dokumentu, který se má analyzovat.

Novinka ve verzi v2.1: Stránky, jazyk a reading_order argumenty klíčových slov a podpora obsahu obrázku/bmp

begin_recognize_custom_forms

Analýza vlastního formuláře pomocí modelu vytrénovaného s popisky nebo bez popisků Formulář, který se má analyzovat, by měl být stejného typu jako formuláře použité k trénování modelu. Vstupní dokument musí mít jeden z podporovaných typů obsahu – "application/pdf", "image/jpeg", "image/png", "image/tiff" nebo "image/bmp".

begin_recognize_custom_forms_from_url

Analýza vlastního formuláře pomocí modelu vytrénovaného s popisky nebo bez popisků Formulář, který se má analyzovat, by měl být stejného typu jako formuláře použité k trénování modelu. Vstupní dokument musí být umístění (adresa URL) dokumentu, který se má analyzovat.

begin_recognize_identity_documents

Extrahuje text pole a sémantické hodnoty z daného dokumentu identity. Vstupní dokument musí mít jeden z podporovaných typů obsahu – "application/pdf", "image/jpeg", "image/png", "image/tiff" nebo "image/bmp".

Pole nalezená v dokumentu identity najdete tady: https://aka.ms/formrecognizer/iddocumentfields

Novinka ve verzi v2.1: Metoda klienta begin_recognize_identity_documents

begin_recognize_identity_documents_from_url

Extrahuje text pole a sémantické hodnoty z daného dokumentu identity. Vstupní dokument musí být umístění (adresa URL) dokumentu identity, který se má analyzovat.

Pole nalezená v dokumentu identity najdete tady: https://aka.ms/formrecognizer/iddocumentfields

Novinka ve verzi v2.1: Metoda klienta begin_recognize_identity_documents_from_url

begin_recognize_invoices

Extrahuje text pole a sémantické hodnoty z dané faktury. Vstupní dokument musí mít jeden z podporovaných typů obsahu – "application/pdf", "image/jpeg", "image/png", "image/tiff" nebo "image/bmp".

Pole nalezená na faktuře najdete tady: https://aka.ms/formrecognizer/invoicefields

Novinka ve verzi v2.1: Metoda klienta begin_recognize_invoices

begin_recognize_invoices_from_url

Extrahuje text pole a sémantické hodnoty z dané faktury. Vstupní dokument musí být umístění (ADRESA URL) faktury, která se má analyzovat.

Pole nalezená na kartě faktury najdete tady: https://aka.ms/formrecognizer/invoicefields

Novinka ve verzi v2.1: Metoda klienta begin_recognize_invoices_from_url

begin_recognize_receipts

Extrahujte text pole a sémantické hodnoty z dané prodejní účtenky. Vstupní dokument musí mít jeden z podporovaných typů obsahu – "application/pdf", "image/jpeg", "image/png", "image/tiff" nebo "image/bmp".

Pole nalezená na potvrzení najdete tady: https://aka.ms/formrecognizer/receiptfields

Novinka ve verzi v2.1: Argumenty klíčových slov národního prostředí a stránek a podpora obsahu image/bmp

begin_recognize_receipts_from_url

Extrahujte text pole a sémantické hodnoty z dané prodejní účtenky. Vstupní dokument musí být umístění (ADRESA URL) potvrzení, které se má analyzovat.

Pole nalezená na potvrzení najdete tady: https://aka.ms/formrecognizer/receiptfields

Novinka ve verzi v2.1: Argumenty klíčových slov národního prostředí a stránek a podpora obsahu image/bmp

close

Zavřete FormRecognizerClient relaci.

send_request

Spustí síťový požadavek pomocí existujícího kanálu klienta.

Adresa URL požadavku může být relativní vzhledem k základní adrese URL. Pokud není uvedeno jinak, verze rozhraní API služby použitá pro požadavek je stejná jako verze rozhraní API klienta. Přepsání nakonfigurované verze rozhraní API klienta v relativní adrese URL se podporuje u klienta s rozhraním API verze 2022-08-31 a novější. Přepsání absolutní adresy URL podporované na klientovi s libovolnou verzí rozhraní API Tato metoda nevyvolá, pokud odpověď je chyba; pokud chcete vyvolat výjimku, zavolejte raise_for_status() u vráceného objektu odpovědi. Další informace o odesílání vlastních požadavků pomocí této metody najdete v tématu https://aka.ms/azsdk/dpcodegen/python/send_request.

begin_recognize_business_cards

Extrahuje text pole a sémantické hodnoty z dané vizitky. Vstupní dokument musí mít jeden z podporovaných typů obsahu – "application/pdf", "image/jpeg", "image/png", "image/tiff" nebo "image/bmp".

Pole nalezená na vizitce si můžete prohlédnout tady: https://aka.ms/formrecognizer/businesscardfields

Novinka ve verzi v2.1: Metoda klienta begin_recognize_business_cards

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

Parametry

business_card
bytes nebo IO[bytes]
Vyžadováno

Datový proud nebo bajty souborů typu JPEG, PNG, PDF, TIFF nebo BMP

locale
str

Národní prostředí vizitky. Mezi podporovaná národní prostředí patří: en-US, en-AU, en-CA, en-GB a en-IN.

include_field_elements
bool

Určuje, zda se mají zahrnout všechny řádky na stránce a prvky pole, jako jsou řádky, slova a značky výběru pro každé pole formuláře.

pages
list[str]

Vlastní čísla stránek pro vícestránkové dokumenty (PDF/TIFF) Zadejte čísla stránek nebo rozsahy stránek, které chcete ve výsledku získat. Pro rozsah stránek použijte spojovník, například pages=["1-3", "5-6"]. Jednotlivé číslo stránky nebo rozsah oddělte čárkou.

content_type
str nebo FormContentType

Typ obsahu textu odeslaného do rozhraní API. Typ obsahu je automaticky zjištěn, ale lze jej přepsat předáním tohoto argumentu klíčového slova. Možnosti najdete v tématu FormContentType.

continuation_token
str

Pokračovací token pro restartování poller z uloženého stavu.

Návraty

An instance of an LROPoller. Voláním metody result() u objektu poller vrátíte seznam[RecognizedForm].

Návratový typ

Výjimky

Příklady

Rozpoznávání vizitek ze souboru


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

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

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

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

begin_recognize_business_cards_from_url

Extrahuje text pole a sémantické hodnoty z dané vizitky. Vstupní dokument musí být umístění (adresa URL) karty, která se má analyzovat.

Pole nalezená na vizitce si můžete prohlédnout tady: https://aka.ms/formrecognizer/businesscardfields

Novinka ve verzi v2.1: Metoda klienta begin_recognize_business_cards_from_url

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

Parametry

business_card_url
str
Vyžadováno

Adresa URL vizitky, která se má analyzovat. Vstup musí být platná zakódovaná adresa URL jednoho z podporovaných formátů: JPEG, PNG, PDF, TIFF nebo BMP.

locale
str

Národní prostředí vizitky. Mezi podporovaná národní prostředí patří: en-US, en-AU, en-CA, en-GB a en-IN.

include_field_elements
bool

Určuje, zda se mají zahrnout všechny řádky na stránce a prvky pole, jako jsou řádky, slova a značky výběru pro každé pole formuláře.

pages
list[str]

Vlastní čísla stránek pro vícestránkové dokumenty (PDF/TIFF) Zadejte čísla stránek nebo rozsahy stránek, které chcete ve výsledku získat. Pro rozsah stránek použijte spojovník, například pages=["1-3", "5-6"]. Jednotlivé číslo stránky nebo rozsah oddělte čárkou.

continuation_token
str

Pokračovací token pro restartování poller z uloženého stavu.

Návraty

An instance of an LROPoller. Voláním metody result() u objektu poller vrátíte seznam[RecognizedForm].

Návratový typ

Výjimky

begin_recognize_content

Extrahujte z daného dokumentu text a informace o obsahu nebo rozložení. Vstupní dokument musí mít jeden z podporovaných typů obsahu – "application/pdf", "image/jpeg", "image/png", "image/tiff" nebo "image/bmp".

Novinka ve verzi v2.1: Stránky, jazyk a reading_order argumenty klíčových slov a podpora obsahu obrázku/bmp

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

Parametry

form
bytes nebo IO[bytes]
Vyžadováno

Datový proud nebo bajty souborů typu JPEG, PNG, PDF, TIFF nebo BMP

pages
list[str]

Vlastní čísla stránek pro vícestránkové dokumenty (PDF/TIFF) Zadejte čísla stránek nebo rozsahy stránek, které chcete ve výsledku získat. Pro rozsah stránek použijte spojovník, například pages=["1-3", "5-6"]. Jednotlivé číslo stránky nebo rozsah oddělte čárkou.

language
str

Kód jazyka BCP-47 textu v dokumentu. Podporované kódy jazyků najdete tady: https://docs.microsoft.com/azure/cognitive-services/form-recognizer/language-support. Obsah podporuje automatickou identifikaci jazyka a dokumenty s více jazyky, takže kód jazyka zadejte pouze v případě, že chcete vynutit zpracování dokumentovaného dokumentu jako konkrétního jazyka.

reading_order
str

Algoritmus pořadí čtení, který seřadí vrácené řádky textu. Mezi podporované směry čtení patří: základní (výchozí), přirozené. Pokud chcete seřadit řádky zleva doprava a shora dolů, nastavte "základní", i když v některých případech se s blízkostí zachází s vyšší prioritou. Pokud chcete řadit řádky, nastavte možnost "přirozené", a to pomocí informací o poloze, abyste měli řádky v blízkosti pohromadě.

content_type
str nebo FormContentType

Typ obsahu textu odeslaného do rozhraní API. Typ obsahu je automaticky zjištěn, ale lze jej přepsat předáním tohoto argumentu klíčového slova. Možnosti najdete v tématu FormContentType.

continuation_token
str

Pokračovací token pro restartování poller z uloženého stavu.

Návraty

An instance of an LROPoller. Voláním metody result() u objektu poller vrátíte seznam[FormPage].

Návratový typ

Výjimky

Příklady

Rozpoznávání textu a obsahu nebo informací o rozložení z formuláře


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

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

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

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

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

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


begin_recognize_content_from_url

Extrahuje text a informace o rozložení z daného dokumentu. Vstupní dokument musí být umístění (adresa URL) dokumentu, který se má analyzovat.

Novinka ve verzi v2.1: Stránky, jazyk a reading_order argumenty klíčových slov a podpora obsahu obrázku/bmp

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

Parametry

form_url
str
Vyžadováno

Adresa URL formuláře, který se má analyzovat. Vstup musí být platná zakódovaná adresa URL jednoho z podporovaných formátů: JPEG, PNG, PDF, TIFF nebo BMP.

pages
list[str]

Vlastní čísla stránek pro vícestránkové dokumenty (PDF/TIFF) Zadejte čísla stránek nebo rozsahy stránek, které chcete ve výsledku získat. Pro rozsah stránek použijte spojovník, například pages=["1-3", "5-6"]. Jednotlivé číslo stránky nebo rozsah oddělte čárkou.

language
str

Kód jazyka BCP-47 textu v dokumentu. Podporované kódy jazyků najdete tady: https://docs.microsoft.com/azure/cognitive-services/form-recognizer/language-support. Obsah podporuje automatickou identifikaci jazyka a dokumenty s více jazyky, takže kód jazyka zadejte pouze v případě, že chcete vynutit zpracování dokumentovaného dokumentu jako konkrétního jazyka.

reading_order
str

Algoritmus pořadí čtení, který seřadí vrácené řádky textu. Mezi podporované směry čtení patří: základní (výchozí), přirozené. Pokud chcete seřadit řádky zleva doprava a shora dolů, nastavte "základní", i když v některých případech se s blízkostí zachází s vyšší prioritou. Pokud chcete řadit řádky, nastavte možnost "přirozené", a to pomocí informací o poloze, abyste měli řádky v blízkosti pohromadě.

continuation_token
str

Pokračovací token pro restartování poller z uloženého stavu.

Návraty

An instance of an LROPoller. Voláním metody result() u objektu poller vrátíte seznam[FormPage].

Návratový typ

Výjimky

begin_recognize_custom_forms

Analýza vlastního formuláře pomocí modelu vytrénovaného s popisky nebo bez popisků Formulář, který se má analyzovat, by měl být stejného typu jako formuláře použité k trénování modelu. Vstupní dokument musí mít jeden z podporovaných typů obsahu – "application/pdf", "image/jpeg", "image/png", "image/tiff" nebo "image/bmp".

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

Parametry

model_id
str
Vyžadováno

Identifikátor vlastního modelu.

form
bytes nebo IO[bytes]
Vyžadováno

Datový proud nebo bajty souborů typu JPEG, PNG, PDF, TIFF nebo BMP

include_field_elements
bool

Zda se mají zahrnout všechny řádky na stránku a prvky pole, jako jsou řádky, slova a značky výběru pro každé pole formuláře.

content_type
str nebo FormContentType

Typ obsahu textu odeslaného do rozhraní API. Typ obsahu se detekuje automaticky, ale dá se přepsat předáním tohoto argumentu klíčového slova. Možnosti najdete v tématu FormContentType.

pages
list[str]

Vlastní čísla stránek pro vícestránkové dokumenty (PDF/TIFF) Zadejte čísla stránek nebo rozsahy stránek, které chcete získat ve výsledku. Pro rozsah stránek použijte spojovník, například pages=["1-3", "5-6"]. Jednotlivé číslo stránky nebo oblast oddělte čárkou.

continuation_token
str

Pokračovací token pro restartování polleru z uloženého stavu.

Návraty

An instance of an LROPoller. Voláním metody result() u objektu poller vrátíte seznam[RecognizedForm].

Návratový typ

Výjimky

Příklady

Rozpoznávat pole a hodnoty z vlastního formuláře.


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

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

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

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

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

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

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

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

begin_recognize_custom_forms_from_url

Analýza vlastního formuláře pomocí modelu vytrénovaného s popisky nebo bez popisků Formulář, který se má analyzovat, by měl být stejného typu jako formuláře použité k trénování modelu. Vstupní dokument musí být umístění (adresa URL) dokumentu, který se má analyzovat.

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

Parametry

model_id
str
Vyžadováno

Identifikátor vlastního modelu.

form_url
str
Vyžadováno

Adresa URL formuláře, který se má analyzovat. Vstup musí být platná zakódovaná adresa URL jednoho z podporovaných formátů: JPEG, PNG, PDF, TIFF nebo BMP.

include_field_elements
bool

Zda se mají zahrnout všechny řádky na stránku a prvky pole, jako jsou řádky, slova a značky výběru pro každé pole formuláře.

pages
list[str]

Vlastní čísla stránek pro vícestránkové dokumenty (PDF/TIFF) Zadejte čísla stránek nebo rozsahy stránek, které chcete získat ve výsledku. Pro rozsah stránek použijte spojovník, například pages=["1-3", "5-6"]. Jednotlivé číslo stránky nebo oblast oddělte čárkou.

continuation_token
str

Pokračovací token pro restartování polleru z uloženého stavu.

Návraty

An instance of an LROPoller. Voláním metody result() u objektu poller vrátíte seznam[RecognizedForm].

Návratový typ

Výjimky

begin_recognize_identity_documents

Extrahuje text pole a sémantické hodnoty z daného dokumentu identity. Vstupní dokument musí mít jeden z podporovaných typů obsahu – "application/pdf", "image/jpeg", "image/png", "image/tiff" nebo "image/bmp".

Pole nalezená v dokumentu identity najdete tady: https://aka.ms/formrecognizer/iddocumentfields

Novinka ve verzi v2.1: Metoda klienta begin_recognize_identity_documents

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

Parametry

identity_document
bytes nebo IO[bytes]
Vyžadováno

Datový proud nebo bajty souborů typu JPEG, PNG, PDF, TIFF nebo BMP

include_field_elements
bool

Zda se mají zahrnout všechny řádky na stránku a prvky pole, jako jsou řádky, slova a značky výběru pro každé pole formuláře.

content_type
str nebo FormContentType

Typ obsahu textu odeslaného do rozhraní API. Typ obsahu se detekuje automaticky, ale dá se přepsat předáním tohoto argumentu klíčového slova. Možnosti najdete v tématu FormContentType.

continuation_token
str

Pokračovací token pro restartování polleru z uloženého stavu.

pages
list[str]

Vlastní čísla stránek pro vícestránkové dokumenty (PDF/TIFF) Zadejte čísla stránek nebo rozsahy stránek, které chcete získat ve výsledku. Pro rozsah stránek použijte spojovník, například pages=["1-3", "5-6"]. Jednotlivé číslo stránky nebo oblast oddělte čárkou.

Návraty

An instance of an LROPoller. Voláním metody result() u objektu poller vrátíte seznam[RecognizedForm].

Návratový typ

Výjimky

Příklady

Rozpoznávat pole dokumentu identity.


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

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

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

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

begin_recognize_identity_documents_from_url

Extrahuje text pole a sémantické hodnoty z daného dokumentu identity. Vstupní dokument musí být umístění (adresa URL) dokumentu identity, který se má analyzovat.

Pole nalezená v dokumentu identity najdete tady: https://aka.ms/formrecognizer/iddocumentfields

Novinka ve verzi v2.1: Metoda klienta begin_recognize_identity_documents_from_url

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

Parametry

identity_document_url
str
Vyžadováno

Adresa URL dokumentu identity, který se má analyzovat. Vstup musí být platná zakódovaná adresa URL jednoho z podporovaných formátů: JPEG, PNG, PDF, TIFF nebo BMP.

include_field_elements
bool

Zda se mají zahrnout všechny řádky na stránku a prvky pole, jako jsou řádky, slova a značky výběru pro každé pole formuláře.

continuation_token
str

Pokračovací token pro restartování polleru z uloženého stavu.

pages
list[str]

Vlastní čísla stránek pro vícestránkové dokumenty (PDF/TIFF) Zadejte čísla stránek nebo rozsahy stránek, které chcete získat ve výsledku. Pro rozsah stránek použijte spojovník, například pages=["1-3", "5-6"]. Jednotlivé číslo stránky nebo oblast oddělte čárkou.

Návraty

An instance of an LROPoller. Voláním metody result() u objektu poller vrátíte seznam[RecognizedForm].

Návratový typ

Výjimky

begin_recognize_invoices

Extrahuje text pole a sémantické hodnoty z dané faktury. Vstupní dokument musí mít jeden z podporovaných typů obsahu – "application/pdf", "image/jpeg", "image/png", "image/tiff" nebo "image/bmp".

Pole nalezená na faktuře najdete tady: https://aka.ms/formrecognizer/invoicefields

Novinka ve verzi v2.1: Metoda klienta begin_recognize_invoices

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

Parametry

invoice
bytes nebo IO[bytes]
Vyžadováno

Datový proud nebo bajty souborů typu JPEG, PNG, PDF, TIFF nebo BMP

locale
str

Národní prostředí faktury. Mezi podporovaná národní prostředí patří: en-US

include_field_elements
bool

Zda se mají zahrnout všechny řádky na stránku a prvky pole, jako jsou řádky, slova a značky výběru pro každé pole formuláře.

pages
list[str]

Vlastní čísla stránek pro vícestránkové dokumenty (PDF/TIFF) Zadejte čísla stránek nebo rozsahy stránek, které chcete získat ve výsledku. Pro rozsah stránek použijte spojovník, například pages=["1-3", "5-6"]. Jednotlivé číslo stránky nebo oblast oddělte čárkou.

content_type
str nebo FormContentType

Typ obsahu textu odeslaného do rozhraní API. Typ obsahu se detekuje automaticky, ale dá se přepsat předáním tohoto argumentu klíčového slova. Možnosti najdete v tématu FormContentType.

continuation_token
str

Pokračovací token pro restartování polleru z uloženého stavu.

Návraty

An instance of an LROPoller. Voláním metody result() u objektu poller vrátíte seznam[RecognizedForm].

Návratový typ

Výjimky

Příklady

Rozpoznávat faktury ze souboru.


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

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

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

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

begin_recognize_invoices_from_url

Extrahuje text pole a sémantické hodnoty z dané faktury. Vstupní dokument musí být umístění (ADRESA URL) faktury, která se má analyzovat.

Pole nalezená na kartě faktury najdete tady: https://aka.ms/formrecognizer/invoicefields

Novinka ve verzi v2.1: Metoda klienta begin_recognize_invoices_from_url

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

Parametry

invoice_url
str
Vyžadováno

Adresa URL faktury, která se má analyzovat. Vstup musí být platná zakódovaná adresa URL jednoho z podporovaných formátů: JPEG, PNG, PDF, TIFF nebo BMP.

locale
str

Národní prostředí faktury. Mezi podporovaná národní prostředí patří: en-US

include_field_elements
bool

Zda se mají zahrnout všechny řádky na stránku a prvky pole, jako jsou řádky, slova a značky výběru pro každé pole formuláře.

pages
list[str]

Vlastní čísla stránek pro vícestránkové dokumenty (PDF/TIFF) Zadejte čísla stránek nebo rozsahy stránek, které chcete získat ve výsledku. Pro rozsah stránek použijte spojovník, například pages=["1-3", "5-6"]. Jednotlivé číslo stránky nebo oblast oddělte čárkou.

continuation_token
str

Pokračovací token pro restartování polleru z uloženého stavu.

Návraty

An instance of an LROPoller. Voláním metody result() u objektu poller vrátíte seznam[RecognizedForm].

Návratový typ

Výjimky

begin_recognize_receipts

Extrahujte text pole a sémantické hodnoty z dané prodejní účtenky. Vstupní dokument musí mít jeden z podporovaných typů obsahu – "application/pdf", "image/jpeg", "image/png", "image/tiff" nebo "image/bmp".

Pole nalezená na potvrzení najdete tady: https://aka.ms/formrecognizer/receiptfields

Novinka ve verzi v2.1: Argumenty klíčových slov národního prostředí a stránek a podpora obsahu image/bmp

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

Parametry

receipt
bytes nebo IO[bytes]
Vyžadováno

Datový proud nebo bajty souborů typu JPEG, PNG, PDF, TIFF nebo BMP

include_field_elements
bool

Zda se mají zahrnout všechny řádky na stránku a prvky pole, jako jsou řádky, slova a značky výběru pro každé pole formuláře.

content_type
str nebo FormContentType

Typ obsahu textu odeslaného do rozhraní API. Typ obsahu se detekuje automaticky, ale dá se přepsat předáním tohoto argumentu klíčového slova. Možnosti najdete v tématu FormContentType.

continuation_token
str

Pokračovací token pro restartování polleru z uloženého stavu.

locale
str

Národní prostředí potvrzení. Mezi podporovaná národní prostředí patří: en-US, en-AU, en-CA, en-GB a en-IN.

pages
list[str]

Vlastní čísla stránek pro vícestránkové dokumenty (PDF/TIFF) Zadejte čísla stránek nebo rozsahy stránek, které chcete získat ve výsledku. Pro rozsah stránek použijte spojovník, například pages=["1-3", "5-6"]. Jednotlivé číslo stránky nebo oblast oddělte čárkou.

Návraty

An instance of an LROPoller. Voláním metody result() u objektu poller vrátíte seznam[RecognizedForm].

Návratový typ

Výjimky

Příklady

Rozpoznat pole prodejního dokladu.


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

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

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

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

begin_recognize_receipts_from_url

Extrahujte text pole a sémantické hodnoty z dané prodejní účtenky. Vstupní dokument musí být umístění (ADRESA URL) potvrzení, které se má analyzovat.

Pole nalezená na potvrzení najdete tady: https://aka.ms/formrecognizer/receiptfields

Novinka ve verzi v2.1: Argumenty klíčových slov národního prostředí a stránek a podpora obsahu image/bmp

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

Parametry

receipt_url
str
Vyžadováno

Adresa URL potvrzení, která se má analyzovat. Vstup musí být platná zakódovaná adresa URL jednoho z podporovaných formátů: JPEG, PNG, PDF, TIFF nebo BMP.

include_field_elements
bool

Zda se mají zahrnout všechny řádky na stránku a prvky pole, jako jsou řádky, slova a značky výběru pro každé pole formuláře.

continuation_token
str

Pokračovací token pro restartování polleru z uloženého stavu.

locale
str

Národní prostředí potvrzení. Mezi podporovaná národní prostředí patří: en-US, en-AU, en-CA, en-GB a en-IN.

pages
list[str]

Vlastní čísla stránek pro vícestránkové dokumenty (PDF/TIFF) Zadejte čísla stránek nebo rozsahy stránek, které chcete získat ve výsledku. Pro rozsah stránek použijte spojovník, například pages=["1-3", "5-6"]. Jednotlivé číslo stránky nebo oblast oddělte čárkou.

Návraty

An instance of an LROPoller. Voláním metody result() u objektu poller vrátíte seznam[RecognizedForm].

Návratový typ

Výjimky

Příklady

Rozpozná pole potvrzení o prodeji z adresy URL.


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

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

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

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

close

Zavřete FormRecognizerClient relaci.

close() -> None

Výjimky

send_request

Spustí síťový požadavek pomocí existujícího kanálu klienta.

Adresa URL požadavku může být relativní vzhledem k základní adrese URL. Pokud není uvedeno jinak, verze rozhraní API služby použitá pro požadavek je stejná jako verze rozhraní API klienta. Přepsání nakonfigurované verze rozhraní API klienta v relativní adrese URL se podporuje u klienta s rozhraním API verze 2022-08-31 a novější. Přepsání absolutní adresy URL podporované na klientovi s libovolnou verzí rozhraní API Tato metoda nevyvolá, pokud odpověď je chyba; pokud chcete vyvolat výjimku, zavolejte raise_for_status() u vráceného objektu odpovědi. Další informace o odesílání vlastních požadavků pomocí této metody najdete v tématu https://aka.ms/azsdk/dpcodegen/python/send_request.

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

Parametry

request
HttpRequest
Vyžadováno

Síťový požadavek, který chcete vytvořit.

stream
bool

Jestli se datová část odpovědi bude streamovat. Výchozí hodnota je False.

Návraty

Odpověď síťového volání. Nezvládá zpracování chyb u vaší odpovědi.

Návratový typ

Výjimky