Megosztás a következőn keresztül:


FormRecognizerClient Osztály

A FormRecognizerClient strukturált adatokba nyeri ki az űrlapokból és képekből származó információkat. Ez a felület az előre összeállított modellekkel (nyugták, névjegykártyák, számlák, identitásdokumentumok), a tartalom/elrendezés űrlapokból való felismeréséhez és a betanított modellekből származó egyéni űrlapok elemzéséhez használható. Különböző módszereket biztosít egy URL-cím és egy stream bemenetei alapján.

Megjegyzés

A FormRecognizerClientet a =v2.1 API-verziókkal <kell használni.

A 2022-08-31-s és újabb API-verziók használatához hozzon létre egy DocumentAnalysisClient példányt.

Öröklődés
azure.ai.formrecognizer._form_base_client.FormRecognizerClientBase
FormRecognizerClient

Konstruktor

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

Paraméterek

endpoint
str
Kötelező

Támogatott Cognitive Services-végpontok (protokoll és állomásnév, például: https://westus2.api.cognitive.microsoft.com).

credential
AzureKeyCredential vagy TokenCredential
Kötelező

Az ügyfélnek az Azure-hoz való csatlakozáshoz szükséges hitelesítő adatok. Ez az AzureKeyCredential egy példánya, ha API-kulcsot vagy jogkivonat-hitelesítő adatokat használ a következőből: identity.

api_version
str vagy FormRecognizerApiVersion

A kérésekhez használni kívánt szolgáltatás API-verziója. Alapértelmezés szerint az API 2.1-es verziója. A régebbi verzióra való beállítás csökkentett funkciókompatibilitást eredményezhet. Ha a legújabb támogatott API-verziót és -funkciókat szeretné használni, hozzon létre helyette egy DocumentAnalysisClient példányt.

Példák

A FormRecognizerClient létrehozása végponttal és API-kulccsal.


   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))

A FormRecognizerClient létrehozása token hitelesítő adatokkal.


   """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)

Metódusok

begin_recognize_business_cards

Mezőszöveg és szemantikai értékek kinyerása egy adott névjegykártyából. A bemeneti dokumentumnak a támogatott tartalomtípusok egyikének kell lennie : "application/pdf", "image/jpeg", "image/png", "image/tiff" vagy "image/bmp".

A névjegykártyán található mezőket itt találja: https://aka.ms/formrecognizer/businesscardfields

A 2.1-es verzió újdonságai: A begin_recognize_business_cards ügyfélmetódus

begin_recognize_business_cards_from_url

Mezőszöveg és szemantikai értékek kinyerása egy adott névjegykártyából. A bemeneti dokumentumnak az elemezni kívánt kártya helyének (URL-címének) kell lennie.

A névjegykártyán található mezőket itt találja: https://aka.ms/formrecognizer/businesscardfields

A 2.1-es verzió újdonságai: A begin_recognize_business_cards_from_url ügyfélmetódus

begin_recognize_content

Szöveg- és tartalom-/elrendezési információk kinyerása egy adott dokumentumból. A bemeneti dokumentumnak a támogatott tartalomtípusok egyikének kell lennie : "application/pdf", "image/jpeg", "image/png", "image/tiff" vagy "image/bmp".

A 2.1-es verzió újdonságai: A lapok, a nyelv és a reading_order kulcsszóargumentumok és a kép/bmp tartalom támogatása

begin_recognize_content_from_url

Szöveg- és elrendezési információk kinyerve egy adott dokumentumból. A bemeneti dokumentumnak az elemezni kívánt dokumentum helyének (URL-címének) kell lennie.

A 2.1-es verzió újdonságai: A lapok, a nyelv és a reading_order kulcsszóargumentumok és a kép/bmp tartalom támogatása

begin_recognize_custom_forms

Egyéni űrlap elemzése címkékkel vagy címkékkel betanított modellel. Az elemezni kívánt űrlapnak ugyanolyan típusúnak kell lennie, mint a modell betanítása során használt űrlapnak. A bemeneti dokumentumnak a támogatott tartalomtípusok egyikének kell lennie : "application/pdf", "image/jpeg", "image/png", "image/tiff", vagy "image/bmp".

begin_recognize_custom_forms_from_url

Egyéni űrlap elemzése címkékkel vagy címkékkel betanított modellel. Az elemezni kívánt űrlapnak ugyanolyan típusúnak kell lennie, mint a modell betanítása során használt űrlapnak. A bemeneti dokumentumnak az elemezni kívánt dokumentum helyének (URL-címének) kell lennie.

begin_recognize_identity_documents

Mezőszöveg és szemantikai értékek kinyerása egy adott identitásdokumentumból. A bemeneti dokumentumnak a támogatott tartalomtípusok egyikének kell lennie : "application/pdf", "image/jpeg", "image/png", "image/tiff" vagy "image/bmp".

Az identitásdokumentumban található mezőket itt találja: https://aka.ms/formrecognizer/iddocumentfields

A 2.1-es verzió újdonságai: A begin_recognize_identity_documents ügyfélmetódus

begin_recognize_identity_documents_from_url

Mezőszöveg és szemantikai értékek kinyerása egy adott identitásdokumentumból. A bemeneti dokumentumnak az elemezni kívánt identitásdokumentum helyének (URL-címének) kell lennie.

Az identitásdokumentumban található mezőket itt találja: https://aka.ms/formrecognizer/iddocumentfields

A 2.1-es verzió újdonságai: A begin_recognize_identity_documents_from_url ügyfélmetódus

begin_recognize_invoices

Mezőszöveg és szemantikai értékek kinyerása egy adott számlából. A bemeneti dokumentumnak a támogatott tartalomtípusok egyikének kell lennie : "application/pdf", "image/jpeg", "image/png", "image/tiff" vagy "image/bmp".

A számlán található mezőket itt találja: https://aka.ms/formrecognizer/invoicefields

A 2.1-es verzió újdonságai: A begin_recognize_invoices ügyfélmetódus

begin_recognize_invoices_from_url

Mezőszöveg és szemantikai értékek kinyerása egy adott számlából. A bemeneti dokumentumnak az elemezni kívánt számla helyének (URL-címének) kell lennie.

A számlakártyán található mezőket itt találja: https://aka.ms/formrecognizer/invoicefields

A 2.1-es verzió újdonságai: A begin_recognize_invoices_from_url ügyfélmetódus

begin_recognize_receipts

Mezőszöveg és szemantikai értékek kinyerása egy adott értékesítési visszaigazolásból. A bemeneti dokumentumnak a támogatott tartalomtípusok egyikének kell lennie : "application/pdf", "image/jpeg", "image/png", "image/tiff" vagy "image/bmp".

A visszaigazoláson található mezőket itt találja: https://aka.ms/formrecognizer/receiptfields

Új a 2.1-es verzióban: A területi beállítás és a lapok kulcsszóargumentumai és a kép/bmp tartalom támogatása

begin_recognize_receipts_from_url

Mezőszöveg és szemantikai értékek kinyerása egy adott értékesítési visszaigazolásból. A bemeneti dokumentumnak az elemezni kívánt visszaigazolás helyének (URL-címének) kell lennie.

A visszaigazoláson található mezőket itt találja: https://aka.ms/formrecognizer/receiptfields

Új a 2.1-es verzióban: A területi beállítás és a lapok kulcsszóargumentumai és a kép/bmp tartalom támogatása

close

Zárja be a munkamenetet FormRecognizerClient .

send_request

Hálózati kérést futtat az ügyfél meglévő folyamatával.

A kérelem URL-címe az alap URL-címhez lehet viszonyítva. A kéréshez használt szolgáltatás API-verzió megegyezik az ügyféléval, hacsak másként nem van megadva. A 2022-08-31-es és újabb API-verziójú ügyfél támogatja az ügyfél konfigurált API-verziójának relatív URL-címben való felülírását. Felül kell bírálni az ügyfélen bármilyen API-verzióval támogatott abszolút URL-címet. Ez a módszer nem merül fel, ha a válasz hiba; kivétel létrehozásához hívja meg a raise_for_status() parancsot a visszaadott válaszobjektumon. Az egyéni kérések ezzel a módszerrel történő elküldésére vonatkozó további információkért lásd: https://aka.ms/azsdk/dpcodegen/python/send_request.

begin_recognize_business_cards

Mezőszöveg és szemantikai értékek kinyerása egy adott névjegykártyából. A bemeneti dokumentumnak a támogatott tartalomtípusok egyikének kell lennie : "application/pdf", "image/jpeg", "image/png", "image/tiff" vagy "image/bmp".

A névjegykártyán található mezőket itt találja: https://aka.ms/formrecognizer/businesscardfields

A 2.1-es verzió újdonságai: A begin_recognize_business_cards ügyfélmetódus

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

Paraméterek

business_card
bytes vagy IO[bytes]
Kötelező

JPEG, PNG, PDF, TIFF vagy BMP típusú fájlstream vagy bájt.

locale
str

A névjegykártya területi beállítása. Támogatott területi beállítások: en-US, en-AU, en-CA, en-GB és en-IN.

include_field_elements
bool

Azt határozza meg, hogy az egyes űrlapmezők minden sorát és mezőelemét , például sorokat, szavakat és kijelölési jeleket is belefoglalja-e.

pages
list[str]

Egyéni oldalszámok többoldalas dokumentumokhoz (PDF/TIFF). Adja meg az eredményben megjeleníteni kívánt oldalszámokat és/vagy oldaltartományokat. Egy oldaltartományhoz használjon kötőjelet, például pages=["1-3", "5-6"]. Az egyes oldalszámokat vagy tartományokat vesszővel válassza el egymástól.

content_type
str vagy FormContentType

Az API-nak küldött törzs tartalomtípusa. A rendszer automatikusan észleli a tartalomtípust, de felül lehet bírálni ennek a kulcsszóargumentumnak a megadásával. A lehetőségekért lásd: FormContentType.

continuation_token
str

Egy folytatási jogkivonat a poller mentett állapotból való újraindításához.

Válaszok

Egy LROPoller-példány. Hívja meg a result() függvényt a poller objektumon egy lista visszaadásához[RecognizedForm].

Visszatérési típus

Kivételek

Példák

Névjegykártyák felismerése fájlból.


   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

Mezőszöveg és szemantikai értékek kinyerása egy adott névjegykártyából. A bemeneti dokumentumnak az elemezni kívánt kártya helyének (URL-címének) kell lennie.

A névjegykártyán található mezőket itt találja: https://aka.ms/formrecognizer/businesscardfields

A 2.1-es verzió újdonságai: A begin_recognize_business_cards_from_url ügyfélmetódus

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

Paraméterek

business_card_url
str
Kötelező

Az elemezni kívánt névjegykártya URL-címe. A bemenetnek a támogatott formátumok (JPEG, PNG, PDF, TIFF vagy BMP) érvényes, kódolt URL-címének kell lennie.

locale
str

A névjegykártya területi beállítása. Támogatott területi beállítások: en-US, en-AU, en-CA, en-GB és en-IN.

include_field_elements
bool

Azt határozza meg, hogy az egyes űrlapmezők minden sorát és mezőelemét , például sorokat, szavakat és kijelölési jeleket is belefoglalja-e.

pages
list[str]

Egyéni oldalszámok többoldalas dokumentumokhoz (PDF/TIFF). Adja meg az eredményben megjeleníteni kívánt oldalszámokat és/vagy oldaltartományokat. Egy oldaltartományhoz használjon kötőjelet, például pages=["1-3", "5-6"]. Az egyes oldalszámokat vagy tartományokat vesszővel válassza el egymástól.

continuation_token
str

Egy folytatási jogkivonat a poller mentett állapotból való újraindításához.

Válaszok

Egy LROPoller-példány. Hívja meg a result() függvényt a poller objektumon egy lista visszaadásához[RecognizedForm].

Visszatérési típus

Kivételek

begin_recognize_content

Szöveg- és tartalom-/elrendezési információk kinyerása egy adott dokumentumból. A bemeneti dokumentumnak a támogatott tartalomtípusok egyikének kell lennie : "application/pdf", "image/jpeg", "image/png", "image/tiff" vagy "image/bmp".

A 2.1-es verzió újdonságai: A lapok, a nyelv és a reading_order kulcsszóargumentumok és a kép/bmp tartalom támogatása

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

Paraméterek

form
bytes vagy IO[bytes]
Kötelező

JPEG, PNG, PDF, TIFF vagy BMP típusú fájlstream vagy bájt.

pages
list[str]

Egyéni oldalszámok többoldalas dokumentumokhoz (PDF/TIFF). Adja meg az eredményben megjeleníteni kívánt oldalszámokat és/vagy oldaltartományokat. Egy oldaltartományhoz használjon kötőjelet, például pages=["1-3", "5-6"]. Az egyes oldalszámokat vagy tartományokat vesszővel válassza el egymástól.

language
str

A dokumentum szövegének BCP-47 nyelvi kódja. A támogatott nyelvkódokat itt találja: https://docs.microsoft.com/azure/cognitive-services/form-recognizer/language-support. A tartalom támogatja az automatikus nyelvazonosítást és a többnyelvű dokumentumokat, ezért csak akkor adjon meg nyelvi kódot, ha azt szeretné, hogy a dokumentált nyelv az adott nyelvként legyen feldolgozva.

reading_order
str

Az olvasási sorrend algoritmusa a visszaadott szövegsorok rendezéséhez. A támogatott olvasási rendelések a következők: alapszintű (alapértelmezett), természetes. Az "alapszintű" beállítással balról jobbra és felülről lefelé rendezheti a sorokat, bár bizonyos esetekben a közelség magasabb prioritással van kezelve. A "természetes" beállítással rendezheti a vonalakat pozícióinformációk használatával a közeli vonalak összetartásához.

content_type
str vagy FormContentType

Az API-nak küldött törzs tartalomtípusa. A rendszer automatikusan észleli a tartalomtípust, de felül lehet bírálni ennek a kulcsszóargumentumnak a megadásával. A lehetőségekért lásd: FormContentType.

continuation_token
str

Egy folytatási jogkivonat a poller mentett állapotból való újraindításához.

Válaszok

Egy LROPoller-példány. Hívja meg a result() függvényt a poller objektumon egy lista visszaadásához[FormPage].

Visszatérési típus

Kivételek

Példák

Szöveg- és tartalom-/elrendezési információk felismerése űrlapról.


   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

Szöveg- és elrendezési információk kinyerve egy adott dokumentumból. A bemeneti dokumentumnak az elemezni kívánt dokumentum helyének (URL-címének) kell lennie.

A 2.1-es verzió újdonságai: A lapok, a nyelv és a reading_order kulcsszóargumentumok és a kép/bmp tartalom támogatása

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

Paraméterek

form_url
str
Kötelező

Az elemezni kívánt űrlap URL-címe. A bemenetnek a támogatott formátumok (JPEG, PNG, PDF, TIFF vagy BMP) érvényes, kódolt URL-címének kell lennie.

pages
list[str]

Egyéni oldalszámok többoldalas dokumentumokhoz (PDF/TIFF). Adja meg az eredményben megjeleníteni kívánt oldalszámokat és/vagy oldaltartományokat. Egy oldaltartományhoz használjon kötőjelet, például pages=["1-3", "5-6"]. Az egyes oldalszámokat vagy tartományokat vesszővel válassza el egymástól.

language
str

A dokumentum szövegének BCP-47 nyelvi kódja. A támogatott nyelvkódokat itt találja: https://docs.microsoft.com/azure/cognitive-services/form-recognizer/language-support. A tartalom támogatja az automatikus nyelvazonosítást és a többnyelvű dokumentumokat, ezért csak akkor adjon meg nyelvi kódot, ha azt szeretné, hogy a dokumentált nyelv az adott nyelvként legyen feldolgozva.

reading_order
str

Az olvasási sorrend algoritmusa a visszaadott szövegsorok rendezéséhez. A támogatott olvasási rendelések a következők: alapszintű (alapértelmezett), természetes. Az "alapszintű" beállítással balról jobbra és felülről lefelé rendezheti a sorokat, bár bizonyos esetekben a közelség magasabb prioritással van kezelve. A "természetes" beállítással rendezheti a vonalakat pozícióinformációk használatával a közeli vonalak összetartásához.

continuation_token
str

Egy folytatási jogkivonat a poller mentett állapotból való újraindításához.

Válaszok

Egy LROPoller-példány. Hívja meg a result() függvényt a poller objektumon egy lista visszaadásához[FormPage].

Visszatérési típus

Kivételek

begin_recognize_custom_forms

Egyéni űrlap elemzése címkékkel vagy címkékkel betanított modellel. Az elemezni kívánt űrlapnak ugyanolyan típusúnak kell lennie, mint a modell betanítása során használt űrlapnak. A bemeneti dokumentumnak a támogatott tartalomtípusok egyikének kell lennie : "application/pdf", "image/jpeg", "image/png", "image/tiff", vagy "image/bmp".

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

Paraméterek

model_id
str
Kötelező

Egyéni modellazonosító.

form
bytes vagy IO[bytes]
Kötelező

JPEG, PNG, PDF, TIFF vagy BMP típusú fájlstream vagy bájt.

include_field_elements
bool

Azt határozza meg, hogy az egyes űrlapmezők minden sorát és mezőelemét , például sorokat, szavakat és kijelölési jeleket is belefoglalja-e.

content_type
str vagy FormContentType

Az API-nak küldött törzs tartalomtípusa. A rendszer automatikusan észleli a tartalomtípust, de felül lehet bírálni ennek a kulcsszóargumentumnak a megadásával. A lehetőségekért lásd: FormContentType.

pages
list[str]

Egyéni oldalszámok többoldalas dokumentumokhoz (PDF/TIFF). Adja meg az eredményben megjeleníteni kívánt oldalszámokat és/vagy oldaltartományokat. Egy oldaltartományhoz használjon kötőjelet, például pages=["1-3", "5-6"]. Az egyes oldalszámokat vagy tartományokat vesszővel válassza el egymástól.

continuation_token
str

Egy folytatási jogkivonat a poller mentett állapotból való újraindításához.

Válaszok

Egy LROPoller-példány. Hívja meg a result() függvényt a poller objektumon egy lista visszaadásához[RecognizedForm].

Visszatérési típus

Kivételek

Példák

Mezők és értékek felismerése egyéni űrlapról.


   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

Egyéni űrlap elemzése címkékkel vagy címkékkel betanított modellel. Az elemezni kívánt űrlapnak ugyanolyan típusúnak kell lennie, mint a modell betanítása során használt űrlapnak. A bemeneti dokumentumnak az elemezni kívánt dokumentum helyének (URL-címének) kell lennie.

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

Paraméterek

model_id
str
Kötelező

Egyéni modellazonosító.

form_url
str
Kötelező

Az elemezni kívánt űrlap URL-címe. A bemenetnek a támogatott formátumok (JPEG, PNG, PDF, TIFF vagy BMP) érvényes, kódolt URL-címének kell lennie.

include_field_elements
bool

Azt határozza meg, hogy az egyes űrlapmezők minden sorát és mezőelemét , például sorokat, szavakat és kijelölési jeleket is belefoglalja-e.

pages
list[str]

Egyéni oldalszámok többoldalas dokumentumokhoz (PDF/TIFF). Adja meg az eredményben megjeleníteni kívánt oldalszámokat és/vagy oldaltartományokat. Egy oldaltartományhoz használjon kötőjelet, például pages=["1-3", "5-6"]. Az egyes oldalszámokat vagy tartományokat vesszővel válassza el egymástól.

continuation_token
str

Egy folytatási jogkivonat a poller mentett állapotból való újraindításához.

Válaszok

Egy LROPoller-példány. Hívja meg a result() függvényt a poller objektumon egy lista visszaadásához[RecognizedForm].

Visszatérési típus

Kivételek

begin_recognize_identity_documents

Mezőszöveg és szemantikai értékek kinyerása egy adott identitásdokumentumból. A bemeneti dokumentumnak a támogatott tartalomtípusok egyikének kell lennie : "application/pdf", "image/jpeg", "image/png", "image/tiff" vagy "image/bmp".

Az identitásdokumentumban található mezőket itt találja: https://aka.ms/formrecognizer/iddocumentfields

A 2.1-es verzió újdonságai: A begin_recognize_identity_documents ügyfélmetódus

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

Paraméterek

identity_document
bytes vagy IO[bytes]
Kötelező

JPEG, PNG, PDF, TIFF vagy BMP típusú fájlstream vagy bájt.

include_field_elements
bool

Azt határozza meg, hogy az egyes űrlapmezők minden sorát és mezőelemét , például sorokat, szavakat és kijelölési jeleket is belefoglalja-e.

content_type
str vagy FormContentType

Az API-nak küldött törzs tartalomtípusa. A rendszer automatikusan észleli a tartalomtípust, de felül lehet bírálni ennek a kulcsszóargumentumnak a megadásával. A lehetőségekért lásd: FormContentType.

continuation_token
str

Egy folytatási jogkivonat a poller mentett állapotból való újraindításához.

pages
list[str]

Egyéni oldalszámok többoldalas dokumentumokhoz (PDF/TIFF). Adja meg az eredményben megjeleníteni kívánt oldalszámokat és/vagy oldaltartományokat. Egy oldaltartományhoz használjon kötőjelet, például pages=["1-3", "5-6"]. Az egyes oldalszámokat vagy tartományokat vesszővel válassza el egymástól.

Válaszok

Egy LROPoller-példány. Hívja meg a result() függvényt a poller objektumon egy lista visszaadásához[RecognizedForm].

Visszatérési típus

Kivételek

Példák

Identitásdokumentum mezőinek felismerése.


   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

Mezőszöveg és szemantikai értékek kinyerása egy adott identitásdokumentumból. A bemeneti dokumentumnak az elemezni kívánt identitásdokumentum helyének (URL-címének) kell lennie.

Az identitásdokumentumban található mezőket itt találja: https://aka.ms/formrecognizer/iddocumentfields

A 2.1-es verzió újdonságai: A begin_recognize_identity_documents_from_url ügyfélmetódus

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

Paraméterek

identity_document_url
str
Kötelező

Az elemezni kívánt identitásdokumentum URL-címe. A bemenetnek a támogatott formátumok (JPEG, PNG, PDF, TIFF vagy BMP) érvényes, kódolt URL-címének kell lennie.

include_field_elements
bool

Azt határozza meg, hogy az egyes űrlapmezők minden sorát és mezőelemét , például sorokat, szavakat és kijelölési jeleket is belefoglalja-e.

continuation_token
str

Egy folytatási jogkivonat a poller mentett állapotból való újraindításához.

pages
list[str]

Egyéni oldalszámok többoldalas dokumentumokhoz (PDF/TIFF). Adja meg az eredményben megjeleníteni kívánt oldalszámokat és/vagy oldaltartományokat. Egy oldaltartományhoz használjon kötőjelet, például pages=["1-3", "5-6"]. Az egyes oldalszámokat vagy tartományokat vesszővel válassza el egymástól.

Válaszok

Egy LROPoller-példány. Hívja meg a result() függvényt a poller objektumon egy lista visszaadásához[RecognizedForm].

Visszatérési típus

Kivételek

begin_recognize_invoices

Mezőszöveg és szemantikai értékek kinyerása egy adott számlából. A bemeneti dokumentumnak a támogatott tartalomtípusok egyikének kell lennie : "application/pdf", "image/jpeg", "image/png", "image/tiff" vagy "image/bmp".

A számlán található mezőket itt találja: https://aka.ms/formrecognizer/invoicefields

A 2.1-es verzió újdonságai: A begin_recognize_invoices ügyfélmetódus

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

Paraméterek

invoice
bytes vagy IO[bytes]
Kötelező

JPEG, PNG, PDF, TIFF vagy BMP típusú fájlstream vagy bájt.

locale
str

A számla területi beállítása. Támogatott területi beállítások: en-US

include_field_elements
bool

Azt határozza meg, hogy az egyes űrlapmezők minden sorát és mezőelemét , például sorokat, szavakat és kijelölési jeleket is belefoglalja-e.

pages
list[str]

Egyéni oldalszámok többoldalas dokumentumokhoz (PDF/TIFF). Adja meg az eredményben megjeleníteni kívánt oldalszámokat és/vagy oldaltartományokat. Egy oldaltartományhoz használjon kötőjelet, például pages=["1-3", "5-6"]. Az egyes oldalszámokat vagy tartományokat vesszővel válassza el egymástól.

content_type
str vagy FormContentType

Az API-nak küldött törzs tartalomtípusa. A rendszer automatikusan észleli a tartalomtípust, de felül lehet bírálni ennek a kulcsszóargumentumnak a megadásával. A lehetőségekért lásd: FormContentType.

continuation_token
str

Egy folytatási jogkivonat a poller mentett állapotból való újraindításához.

Válaszok

Egy LROPoller-példány. Hívja meg a result() függvényt a poller objektumon egy lista visszaadásához[RecognizedForm].

Visszatérési típus

Kivételek

Példák

Egy fájl számláinak felismerése.


   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

Mezőszöveg és szemantikai értékek kinyerása egy adott számlából. A bemeneti dokumentumnak az elemezni kívánt számla helyének (URL-címének) kell lennie.

A számlakártyán található mezőket itt találja: https://aka.ms/formrecognizer/invoicefields

A 2.1-es verzió újdonságai: A begin_recognize_invoices_from_url ügyfélmetódus

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

Paraméterek

invoice_url
str
Kötelező

Az elemezni kívánt számla URL-címe. A bemenetnek a támogatott formátumok (JPEG, PNG, PDF, TIFF vagy BMP) érvényes, kódolt URL-címének kell lennie.

locale
str

A számla területi beállítása. Támogatott területi beállítások: en-US

include_field_elements
bool

Azt határozza meg, hogy az egyes űrlapmezők minden sorát és mezőelemét , például sorokat, szavakat és kijelölési jeleket is belefoglalja-e.

pages
list[str]

Egyéni oldalszámok többoldalas dokumentumokhoz (PDF/TIFF). Adja meg az eredményben megjeleníteni kívánt oldalszámokat és/vagy oldaltartományokat. Egy oldaltartományhoz használjon kötőjelet, például pages=["1-3", "5-6"]. Az egyes oldalszámokat vagy tartományokat vesszővel válassza el egymástól.

continuation_token
str

Egy folytatási jogkivonat a poller mentett állapotból való újraindításához.

Válaszok

Egy LROPoller-példány. Hívja meg a result() függvényt a poller objektumon egy lista visszaadásához[RecognizedForm].

Visszatérési típus

Kivételek

begin_recognize_receipts

Mezőszöveg és szemantikai értékek kinyerása egy adott értékesítési visszaigazolásból. A bemeneti dokumentumnak a támogatott tartalomtípusok egyikének kell lennie : "application/pdf", "image/jpeg", "image/png", "image/tiff" vagy "image/bmp".

A visszaigazoláson található mezőket itt találja: https://aka.ms/formrecognizer/receiptfields

Új a 2.1-es verzióban: A területi beállítás és a lapok kulcsszóargumentumai és a kép/bmp tartalom támogatása

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

Paraméterek

receipt
bytes vagy IO[bytes]
Kötelező

JPEG, PNG, PDF, TIFF vagy BMP típusú fájlstream vagy bájt.

include_field_elements
bool

Azt határozza meg, hogy az egyes űrlapmezők minden sorát és mezőelemét , például sorokat, szavakat és kijelölési jeleket is belefoglalja-e.

content_type
str vagy FormContentType

Az API-nak küldött törzs tartalomtípusa. A rendszer automatikusan észleli a tartalomtípust, de felül lehet bírálni ennek a kulcsszóargumentumnak a megadásával. A beállításokért lásd: FormContentType.

continuation_token
str

Egy folytatási jogkivonat, amely újraindít egy lekérdezést egy mentett állapotból.

locale
str

A nyugta területi beállítása. Támogatott területi beállítások: en-US, en-AU, en-CA, en-GB és en-IN.

pages
list[str]

Egyéni oldalszámok többoldalas dokumentumokhoz (PDF/TIFF). Adja meg az eredményben megjeleníteni kívánt oldalszámokat és/vagy oldaltartományokat. Több oldal esetén használjon kötőjelet, például pages=["1-3", "5-6"]. Az egyes oldalszámokat vagy -tartományokat vesszővel válassza el egymástól.

Válaszok

Egy LROPoller-példány. Hívja meg az result() elemet a poller objektumon, hogy visszaadjon egy listát[RecognizedForm].

Visszatérési típus

Kivételek

Példák

Az értékesítési nyugtamezők felismerése.


   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

Mezőszöveg és szemantikai értékek kinyerása egy adott értékesítési visszaigazolásból. A bemeneti dokumentumnak az elemezni kívánt visszaigazolás helyének (URL-címének) kell lennie.

A visszaigazoláson található mezőket itt találja: https://aka.ms/formrecognizer/receiptfields

Új a 2.1-es verzióban: A területi beállítás és a lapok kulcsszóargumentumai és a kép/bmp tartalom támogatása

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

Paraméterek

receipt_url
str
Kötelező

Az elemezni kívánt nyugta URL-címe. A bemenetnek érvényes, kódolt URL-címnek kell lennie az egyik támogatott formátumnak: JPEG, PNG, PDF, TIFF vagy BMP.

include_field_elements
bool

Az egyes űrlapmezők minden sorát és mezőelemét, például sorokat, szavakat és kijelölési jeleket is be kell-e vonni.

continuation_token
str

Egy folytatási jogkivonat, amely újraindít egy lekérdezést egy mentett állapotból.

locale
str

A nyugta területi beállítása. Támogatott területi beállítások: en-US, en-AU, en-CA, en-GB és en-IN.

pages
list[str]

Egyéni oldalszámok többoldalas dokumentumokhoz (PDF/TIFF). Adja meg az eredményben megjeleníteni kívánt oldalszámokat és/vagy oldaltartományokat. Több oldal esetén használjon kötőjelet, például pages=["1-3", "5-6"]. Az egyes oldalszámokat vagy -tartományokat vesszővel válassza el egymástól.

Válaszok

Egy LROPoller-példány. Hívja meg az result() elemet a poller objektumon, hogy visszaadjon egy listát[RecognizedForm].

Visszatérési típus

Kivételek

Példák

Értékesítési visszaigazolás mezőinek felismerése URL-címből.


   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

Zárja be a munkamenetet FormRecognizerClient .

close() -> None

Kivételek

send_request

Hálózati kérést futtat az ügyfél meglévő folyamatával.

A kérelem URL-címe az alap URL-címhez lehet viszonyítva. A kéréshez használt szolgáltatás API-verzió megegyezik az ügyféléval, hacsak másként nem van megadva. A 2022-08-31-es és újabb API-verziójú ügyfél támogatja az ügyfél konfigurált API-verziójának relatív URL-címben való felülírását. Felül kell bírálni az ügyfélen bármilyen API-verzióval támogatott abszolút URL-címet. Ez a módszer nem merül fel, ha a válasz hiba; kivétel létrehozásához hívja meg a raise_for_status() parancsot a visszaadott válaszobjektumon. Az egyéni kérések ezzel a módszerrel történő elküldésére vonatkozó további információkért lásd: https://aka.ms/azsdk/dpcodegen/python/send_request.

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

Paraméterek

request
HttpRequest
Kötelező

A létrehozni kívánt hálózati kérelem.

stream
bool

A válasz hasznos adatainak streamelése. Alapértelmezés szerint Hamis.

Válaszok

A hálózati hívás válasza. Nem végez hibakezelést a válaszon.

Visszatérési típus

Kivételek