Compartilhar via


FormRecognizerClient Classe

FormRecognizerClient extrai informações de formulários e imagens em dados estruturados. É a interface a ser usada para analisar com modelos predefinidos (recibos, cartões de visita, faturas, documentos de identidade), reconhecer conteúdo/layout de formulários e analisar formulários personalizados de modelos treinados. Ele fornece métodos diferentes com base em entradas de uma URL e entradas de um fluxo.

Observação

FormRecognizerClient deve ser usado com versões <de API =v2.1.

Para usar as versões de API 2022-08-31 e posteriores, instancie um DocumentAnalysisClient.

Herança
azure.ai.formrecognizer.aio._form_base_client_async.FormRecognizerClientBaseAsync
FormRecognizerClient

Construtor

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

Parâmetros

endpoint
str
Obrigatório

Pontos de extremidade dos Serviços Cognitivos com suporte (protocolo e nome do host, por exemplo: https://westus2.api.cognitive.microsoft.com).

credential
AzureKeyCredential ou AsyncTokenCredential
Obrigatório

Credenciais necessárias para que o cliente se conecte ao Azure. Essa é uma instância de AzureKeyCredential se estiver usando uma chave de API ou uma credencial de token de identity.

api_version
str ou FormRecognizerApiVersion

A versão da API do serviço a ser usada para solicitações. Ele usa como padrão a versão v2.1 da API. A configuração para uma versão mais antiga pode resultar em redução da compatibilidade de recursos. Para usar a versão e os recursos mais recentes da API com suporte, crie uma instância de um DocumentAnalysisClient.

Exemplos

Criando o FormRecognizerClient com um ponto de extremidade e uma chave de API.


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

   form_recognizer_client = FormRecognizerClient(endpoint, AzureKeyCredential(key))

Criando o FormRecognizerClient com uma credencial de token.


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

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

   form_recognizer_client = FormRecognizerClient(endpoint, credential)

Métodos

begin_recognize_business_cards

Extraia texto do campo e valores semânticos de um determinado cartão de negócios. O documento de entrada deve ser de um dos tipos de conteúdo com suporte : 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' ou 'image/bmp'.

Veja os campos encontrados em um cartão de negócios aqui:https://aka.ms/formrecognizer/businesscardfields

Novo na versão v2.1: o método cliente begin_recognize_business_cards

begin_recognize_business_cards_from_url

Extraia texto do campo e valores semânticos de um determinado cartão de negócios. O documento de entrada deve ser o local (URL) do cartão a ser analisado.

Veja os campos encontrados em um cartão de negócios aqui:https://aka.ms/formrecognizer/businesscardfields

Novo na versão v2.1: o método cliente begin_recognize_business_cards_from_url

begin_recognize_content

Extraia informações de texto e conteúdo/layout de um determinado documento. O documento de entrada deve ser de um dos tipos de conteúdo com suporte : 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' ou 'image/bmp'.

Novidades na versão v2.1: as páginas, idioma e reading_order palavra-chave argumentos e suporte para conteúdo de imagem/bmp

begin_recognize_content_from_url

Extrair informações de texto e layout de um determinado documento. O documento de entrada deve ser o local (URL) do documento a ser analisado.

Novidades na versão v2.1: as páginas, idioma e reading_order palavra-chave argumentos e suporte para conteúdo de imagem/bmp

begin_recognize_custom_forms

Analise um formulário personalizado com um modelo treinado com ou sem rótulos. O formulário a ser analisado deve ser do mesmo tipo que os formulários usados para treinar o modelo. O documento de entrada deve ser de um dos tipos de conteúdo com suporte : 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' ou 'image/bmp'.

begin_recognize_custom_forms_from_url

Analise um formulário personalizado com um modelo treinado com ou sem rótulos. O formulário a ser analisado deve ser do mesmo tipo que os formulários usados para treinar o modelo. O documento de entrada deve ser o local (URL) do documento a ser analisado.

begin_recognize_identity_documents

Extraia texto do campo e valores semânticos de um determinado documento de identidade. O documento de entrada deve ser de um dos tipos de conteúdo com suporte : 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' ou 'image/bmp'.

Veja os campos encontrados em um documento de identidade aqui: https://aka.ms/formrecognizer/iddocumentfields

Novo na versão v2.1: o método de cliente begin_recognize_identity_documents

begin_recognize_identity_documents_from_url

Extraia texto do campo e valores semânticos de um determinado documento de identidade. O documento de entrada deve ser o local (URL) do documento de identidade a ser analisado.

Veja os campos encontrados em um documento de identidade aqui: https://aka.ms/formrecognizer/iddocumentfields

Novo na versão v2.1: o método de cliente begin_recognize_identity_documents_from_url

begin_recognize_invoices

Extraia texto do campo e valores semânticos de uma determinada fatura. O documento de entrada deve ser de um dos tipos de conteúdo com suporte : 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' ou 'image/bmp'.

Veja os campos encontrados em uma fatura aqui: https://aka.ms/formrecognizer/invoicefields

Novo na versão v2.1: o método de cliente begin_recognize_invoices

begin_recognize_invoices_from_url

Extraia texto do campo e valores semânticos de uma determinada fatura. O documento de entrada deve ser o local (URL) da fatura a ser analisada.

Veja os campos encontrados em uma fatura cartão aqui:https://aka.ms/formrecognizer/invoicefields

Novo na versão v2.1: o método de cliente begin_recognize_invoices_from_url

begin_recognize_receipts

Extraia texto do campo e valores semânticos de um determinado recibo de vendas. O documento de entrada deve ser de um dos tipos de conteúdo com suporte : 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' ou 'image/bmp'.

Veja os campos encontrados em um recibo aqui: https://aka.ms/formrecognizer/receiptfields

Novo na versão v2.1: a localidade palavra-chave argumento e suporte para conteúdo de imagem/bmp

begin_recognize_receipts_from_url

Extraia texto do campo e valores semânticos de um determinado recibo de vendas. O documento de entrada deve ser o local (URL) do recibo a ser analisado.

Veja os campos encontrados em um recibo aqui: https://aka.ms/formrecognizer/receiptfields

Novo na versão v2.1: a localidade palavra-chave argumento e suporte para conteúdo de imagem/bmp

close

Feche a FormRecognizerClient sessão.

send_request

Executa uma solicitação de rede usando o pipeline existente do cliente.

A URL de solicitação pode ser relativa à URL base. A versão da API de serviço usada para a solicitação é a mesma do cliente, a menos que especificado de outra forma. A substituição da versão da API configurada do cliente na URL relativa tem suporte no cliente com a versão da API 2022-08-31 e posterior. Substituição em URL absoluta com suporte no cliente com qualquer versão de API. Esse método não será gerado se a resposta for um erro; para gerar uma exceção, chame raise_for_status() no objeto de resposta retornado. Para obter mais informações sobre como enviar solicitações personalizadas com esse método, consulte https://aka.ms/azsdk/dpcodegen/python/send_request.

begin_recognize_business_cards

Extraia texto do campo e valores semânticos de um determinado cartão de negócios. O documento de entrada deve ser de um dos tipos de conteúdo com suporte : 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' ou 'image/bmp'.

Veja os campos encontrados em um cartão de negócios aqui:https://aka.ms/formrecognizer/businesscardfields

Novo na versão v2.1: o método cliente begin_recognize_business_cards

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

Parâmetros

business_card
bytes ou IO[bytes]
Obrigatório

JPEG, PNG, PDF, TIFF ou fluxo de arquivo de tipo BMP ou bytes.

locale
str

Localidade do cartão comercial. As localidades com suporte incluem: en-US, en-AU, en-CA, en-GB e en-IN.

include_field_elements
bool

Se deve ou não incluir todas as linhas por página e elementos de campo, como linhas, palavras e marcas de seleção para cada campo de formulário.

content_type
str ou FormContentType

Tipo de conteúdo do corpo enviado para a API. O tipo de conteúdo é detectado automaticamente, mas pode ser substituído passando esse argumento palavra-chave. Para obter opções, consulte FormContentType.

pages
list[str]

Números de página personalizados para documentos de várias páginas (PDF/TIFF). Insira os números de página e/ou intervalos de páginas que você deseja obter no resultado. Para um intervalo de páginas, use um hífen, como pages=["1-3", "5-6"]. Separe cada número de página ou intervalo com uma vírgula.

continuation_token
str

Um token de continuação para reiniciar um sondador de um estado salvo.

Retornos

Uma instância de um AsyncLROPoller. Chame result() no objeto poller para retornar uma lista[RecognizedForm].

Tipo de retorno

Exceções

Exemplos

Reconhecer cartões de visita de um arquivo.


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

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

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

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

begin_recognize_business_cards_from_url

Extraia texto do campo e valores semânticos de um determinado cartão de negócios. O documento de entrada deve ser o local (URL) do cartão a ser analisado.

Veja os campos encontrados em um cartão de negócios aqui:https://aka.ms/formrecognizer/businesscardfields

Novo na versão v2.1: o método cliente begin_recognize_business_cards_from_url

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

Parâmetros

business_card_url
str
Obrigatório

A URL da empresa cartão a ser analisada. A entrada deve ser uma URL válida e codificada de um dos formatos com suporte: JPEG, PNG, PDF, TIFF ou BMP.

locale
str

Localidade do cartão comercial. As localidades com suporte incluem: en-US, en-AU, en-CA, en-GB e en-IN.

include_field_elements
bool

Se deve ou não incluir todas as linhas por página e elementos de campo, como linhas, palavras e marcas de seleção para cada campo de formulário.

pages
list[str]

Números de página personalizados para documentos de várias páginas (PDF/TIFF). Insira os números de página e/ou intervalos de páginas que você deseja obter no resultado. Para um intervalo de páginas, use um hífen, como pages=["1-3", "5-6"]. Separe cada número de página ou intervalo com uma vírgula.

continuation_token
str

Um token de continuação para reiniciar um sondador de um estado salvo.

Retornos

Uma instância de um AsyncLROPoller. Chame result() no objeto poller para retornar uma lista[RecognizedForm].

Tipo de retorno

Exceções

begin_recognize_content

Extraia informações de texto e conteúdo/layout de um determinado documento. O documento de entrada deve ser de um dos tipos de conteúdo com suporte : 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' ou 'image/bmp'.

Novidades na versão v2.1: as páginas, idioma e reading_order palavra-chave argumentos e suporte para conteúdo de imagem/bmp

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

Parâmetros

form
bytes ou IO[bytes]
Obrigatório

JPEG, PNG, PDF, TIFF ou fluxo de arquivo de tipo BMP ou bytes.

pages
list[str]

Números de página personalizados para documentos de várias páginas (PDF/TIFF). Insira os números de página e/ou intervalos de páginas que você deseja obter no resultado. Para um intervalo de páginas, use um hífen, como pages=["1-3", "5-6"]. Separe cada número de página ou intervalo com uma vírgula.

language
str

O código de idioma BCP-47 do texto no documento. Confira os códigos de idioma com suporte aqui: https://docs.microsoft.com/azure/cognitive-services/form-recognizer/language-support. O conteúdo dá suporte à identificação automática de idioma e a documentos de várias linguagens, portanto, forneça apenas um código de idioma se você quiser forçar o documentado a ser processado como esse idioma específico.

reading_order
str

Algoritmo de ordem de leitura para classificar as linhas de texto retornadas. Os pedidos de leitura com suporte incluem: básico (padrão), natural. Defina 'básico' para classificar linhas da esquerda para a direita e de cima para baixo, embora, em alguns casos, a proximidade seja tratada com prioridade mais alta. Defina 'natural' para classificar linhas usando informações posicionais para manter as linhas próximas juntas.

content_type
str ou FormContentType

Tipo de conteúdo do corpo enviado para a API. O tipo de conteúdo é detectado automaticamente, mas pode ser substituído passando esse argumento palavra-chave. Para obter opções, consulte FormContentType.

continuation_token
str

Um token de continuação para reiniciar um sondador de um estado salvo.

Retornos

Uma instância de um AsyncLROPoller. Chame result() no objeto poller para retornar uma lista[FormPage].

Tipo de retorno

Exceções

Exemplos

Reconhecer informações de texto e conteúdo/layout de um formulário.


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

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

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

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

       form_pages = await poller.result()

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

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

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


begin_recognize_content_from_url

Extrair informações de texto e layout de um determinado documento. O documento de entrada deve ser o local (URL) do documento a ser analisado.

Novidades na versão v2.1: as páginas, idioma e reading_order palavra-chave argumentos e suporte para conteúdo de imagem/bmp

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

Parâmetros

form_url
str
Obrigatório

A URL do formulário a ser analisado. A entrada deve ser uma URL válida e codificada de um dos formatos com suporte: JPEG, PNG, PDF, TIFF ou BMP.

pages
list[str]

Números de página personalizados para documentos de várias páginas (PDF/TIFF). Insira os números de página e/ou intervalos de páginas que você deseja obter no resultado. Para um intervalo de páginas, use um hífen, como pages=["1-3", "5-6"]. Separe cada número de página ou intervalo com uma vírgula.

language
str

O código de idioma BCP-47 do texto no documento. Confira os códigos de idioma com suporte aqui: https://docs.microsoft.com/azure/cognitive-services/form-recognizer/language-support. O conteúdo dá suporte à identificação automática de idioma e a documentos de várias linguagens, portanto, forneça apenas um código de idioma se você quiser forçar o documentado a ser processado como esse idioma específico.

reading_order
str

Algoritmo de ordem de leitura para classificar as linhas de texto retornadas. Os pedidos de leitura com suporte incluem: básico (padrão), natural. Defina 'básico' para classificar linhas da esquerda para a direita e de cima para baixo, embora, em alguns casos, a proximidade seja tratada com prioridade mais alta. Defina 'natural' para classificar linhas usando informações posicionais para manter as linhas próximas juntas.

continuation_token
str

Um token de continuação para reiniciar um sondador de um estado salvo.

Retornos

Uma instância de um AsyncLROPoller. Chame result() no objeto poller para retornar uma lista[FormPage].

Tipo de retorno

Exceções

begin_recognize_custom_forms

Analise um formulário personalizado com um modelo treinado com ou sem rótulos. O formulário a ser analisado deve ser do mesmo tipo que os formulários usados para treinar o modelo. O documento de entrada deve ser de um dos tipos de conteúdo com suporte : 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' ou 'image/bmp'.

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

Parâmetros

model_id
str
Obrigatório

Identificador de modelo personalizado.

form
bytes ou IO[bytes]
Obrigatório

JPEG, PNG, PDF, TIFF ou fluxo de arquivo de tipo BMP ou bytes.

include_field_elements
bool

Se deve ou não incluir todas as linhas por página e elementos de campo, como linhas, palavras e marcas de seleção para cada campo de formulário.

content_type
str ou FormContentType

Tipo de conteúdo do corpo enviado para a API. O tipo de conteúdo é detectado automaticamente, mas pode ser substituído passando esse argumento palavra-chave. Para obter opções, consulte FormContentType.

pages
list[str]

Números de página personalizados para documentos de várias páginas (PDF/TIFF). Insira os números de página e/ou intervalos de páginas que você deseja obter no resultado. Para um intervalo de páginas, use um hífen, como pages=["1-3", "5-6"]. Separe cada número de página ou intervalo com uma vírgula.

continuation_token
str

Um token de continuação para reiniciar um sondador de um estado salvo.

Retornos

Uma instância de um AsyncLROPoller. Chame result() no objeto poller para retornar uma lista[RecognizedForm].

Tipo de retorno

Exceções

Exemplos

Reconhecer campos e valores de um formulário personalizado.


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

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

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

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

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

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

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

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

begin_recognize_custom_forms_from_url

Analise um formulário personalizado com um modelo treinado com ou sem rótulos. O formulário a ser analisado deve ser do mesmo tipo que os formulários usados para treinar o modelo. O documento de entrada deve ser o local (URL) do documento a ser analisado.

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

Parâmetros

model_id
str
Obrigatório

Identificador de modelo personalizado.

form_url
str
Obrigatório

A URL do formulário a ser analisado. A entrada deve ser uma URL válida e codificada de um dos formatos com suporte: JPEG, PNG, PDF, TIFF ou BMP.

include_field_elements
bool

Se deve ou não incluir todas as linhas por página e elementos de campo, como linhas, palavras e marcas de seleção para cada campo de formulário.

pages
list[str]

Números de página personalizados para documentos de várias páginas (PDF/TIFF). Insira os números de página e/ou intervalos de páginas que você deseja obter no resultado. Para um intervalo de páginas, use um hífen, como pages=["1-3", "5-6"]. Separe cada número de página ou intervalo com uma vírgula.

continuation_token
str

Um token de continuação para reiniciar um sondador de um estado salvo.

Retornos

Uma instância de um AsyncLROPoller. Chame result() no objeto poller para retornar uma lista[RecognizedForm].

Tipo de retorno

Exceções

begin_recognize_identity_documents

Extraia texto do campo e valores semânticos de um determinado documento de identidade. O documento de entrada deve ser de um dos tipos de conteúdo com suporte : 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' ou 'image/bmp'.

Veja os campos encontrados em um documento de identidade aqui: https://aka.ms/formrecognizer/iddocumentfields

Novo na versão v2.1: o método de cliente begin_recognize_identity_documents

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

Parâmetros

identity_document
bytes ou IO[bytes]
Obrigatório

JPEG, PNG, PDF, TIFF ou fluxo de arquivo de tipo BMP ou bytes.

include_field_elements
bool

Se deve ou não incluir todas as linhas por página e elementos de campo, como linhas, palavras e marcas de seleção para cada campo de formulário.

content_type
str ou FormContentType

Tipo de conteúdo do corpo enviado para a API. O tipo de conteúdo é detectado automaticamente, mas pode ser substituído passando esse argumento palavra-chave. Para obter opções, consulte FormContentType.

continuation_token
str

Um token de continuação para reiniciar um sondador de um estado salvo.

pages
list[str]

Números de página personalizados para documentos de várias páginas (PDF/TIFF). Insira os números de página e/ou intervalos de páginas que você deseja obter no resultado. Para um intervalo de páginas, use um hífen, como pages=["1-3", "5-6"]. Separe cada número de página ou intervalo com uma vírgula.

Retornos

Uma instância de um AsyncLROPoller. Chame result() no objeto poller para retornar uma lista[RecognizedForm].

Tipo de retorno

Exceções

Exemplos

Reconhecer documentos de identidade de um arquivo.


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

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

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

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

begin_recognize_identity_documents_from_url

Extraia texto do campo e valores semânticos de um determinado documento de identidade. O documento de entrada deve ser o local (URL) do documento de identidade a ser analisado.

Veja os campos encontrados em um documento de identidade aqui: https://aka.ms/formrecognizer/iddocumentfields

Novo na versão v2.1: o método de cliente begin_recognize_identity_documents_from_url

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

Parâmetros

identity_document_url
str
Obrigatório

A URL do documento de identidade a ser analisado. A entrada deve ser uma URL válida e codificada de um dos formatos com suporte: JPEG, PNG, PDF, TIFF ou BMP.

include_field_elements
bool

Se deve ou não incluir todas as linhas por página e elementos de campo, como linhas, palavras e marcas de seleção para cada campo de formulário.

continuation_token
str

Um token de continuação para reiniciar um sondador de um estado salvo.

pages
list[str]

Números de página personalizados para documentos de várias páginas (PDF/TIFF). Insira os números de página e/ou intervalos de páginas que você deseja obter no resultado. Para um intervalo de páginas, use um hífen, como pages=["1-3", "5-6"]. Separe cada número de página ou intervalo com uma vírgula.

Retornos

Uma instância de um AsyncLROPoller. Chame result() no objeto poller para retornar uma lista[RecognizedForm].

Tipo de retorno

Exceções

begin_recognize_invoices

Extraia texto do campo e valores semânticos de uma determinada fatura. O documento de entrada deve ser de um dos tipos de conteúdo com suporte : 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' ou 'image/bmp'.

Veja os campos encontrados em uma fatura aqui: https://aka.ms/formrecognizer/invoicefields

Novo na versão v2.1: o método de cliente begin_recognize_invoices

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

Parâmetros

invoice
bytes ou IO[bytes]
Obrigatório

JPEG, PNG, PDF, TIFF ou fluxo de arquivo de tipo BMP ou bytes.

locale
str

Localidade da fatura. As localidades com suporte incluem: en-US

include_field_elements
bool

Se deve ou não incluir todas as linhas por página e elementos de campo, como linhas, palavras e marcas de seleção para cada campo de formulário.

content_type
str ou FormContentType

Tipo de conteúdo do corpo enviado para a API. O tipo de conteúdo é detectado automaticamente, mas pode ser substituído passando esse argumento palavra-chave. Para obter opções, consulte FormContentType.

pages
list[str]

Números de página personalizados para documentos de várias páginas (PDF/TIFF). Insira os números de página e/ou intervalos de páginas que você deseja obter no resultado. Para um intervalo de páginas, use um hífen, como pages=["1-3", "5-6"]. Separe cada número de página ou intervalo com uma vírgula.

continuation_token
str

Um token de continuação para reiniciar um sondador de um estado salvo.

Retornos

Uma instância de um AsyncLROPoller. Chame result() no objeto poller para retornar uma lista[RecognizedForm].

Tipo de retorno

Exceções

Exemplos

Reconhecer faturas de um arquivo.


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

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

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

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

begin_recognize_invoices_from_url

Extraia texto do campo e valores semânticos de uma determinada fatura. O documento de entrada deve ser o local (URL) da fatura a ser analisada.

Veja os campos encontrados em uma fatura cartão aqui:https://aka.ms/formrecognizer/invoicefields

Novo na versão v2.1: o método de cliente begin_recognize_invoices_from_url

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

Parâmetros

invoice_url
str
Obrigatório

A URL da fatura a ser analisada. A entrada deve ser uma URL válida e codificada de um dos formatos com suporte: JPEG, PNG, PDF, TIFF ou BMP.

locale
str

Localidade da fatura. As localidades com suporte incluem: en-US

include_field_elements
bool

Se deve ou não incluir todas as linhas por página e elementos de campo, como linhas, palavras e marcas de seleção para cada campo de formulário.

pages
list[str]

Números de página personalizados para documentos de várias páginas (PDF/TIFF). Insira os números de página e/ou intervalos de páginas que você deseja obter no resultado. Para um intervalo de páginas, use um hífen, como pages=["1-3", "5-6"]. Separe cada número de página ou intervalo com uma vírgula.

continuation_token
str

Um token de continuação para reiniciar um sondador de um estado salvo.

Retornos

Uma instância de um AsyncLROPoller. Chame result() no objeto poller para retornar uma lista[RecognizedForm].

Tipo de retorno

Exceções

begin_recognize_receipts

Extraia texto do campo e valores semânticos de um determinado recibo de vendas. O documento de entrada deve ser de um dos tipos de conteúdo com suporte : 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' ou 'image/bmp'.

Veja os campos encontrados em um recibo aqui: https://aka.ms/formrecognizer/receiptfields

Novo na versão v2.1: a localidade palavra-chave argumento e suporte para conteúdo de imagem/bmp

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

Parâmetros

receipt
bytes ou IO[bytes]
Obrigatório

JPEG, PNG, PDF, TIFF ou fluxo de arquivo de tipo BMP ou bytes.

include_field_elements
bool

Se deve ou não incluir todas as linhas por página e elementos de campo, como linhas, palavras e marcas de seleção para cada campo de formulário.

content_type
str ou FormContentType

Tipo de conteúdo do corpo enviado para a API. O tipo de conteúdo é detectado automaticamente, mas pode ser substituído passando esse argumento palavra-chave. Para obter opções, consulte FormContentType.

continuation_token
str

Um token de continuação para reiniciar um sondador de um estado salvo.

locale
str

Localidade do recibo. As localidades com suporte incluem: en-US, en-AU, en-CA, en-GB e en-IN.

pages
list[str]

Números de página personalizados para documentos de várias páginas (PDF/TIFF). Insira os números de página e/ou intervalos de páginas que você deseja obter no resultado. Para um intervalo de páginas, use um hífen, como pages=["1-3", "5-6"]. Separe cada número de página ou intervalo com uma vírgula.

Retornos

Uma instância de um AsyncLROPoller. Chame result() no objeto poller para retornar uma lista[RecognizedForm].

Tipo de retorno

Exceções

Exemplos

Reconhecer campos de recibo de vendas.


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

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

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

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

       receipts = await poller.result()

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

begin_recognize_receipts_from_url

Extraia texto do campo e valores semânticos de um determinado recibo de vendas. O documento de entrada deve ser o local (URL) do recibo a ser analisado.

Veja os campos encontrados em um recibo aqui: https://aka.ms/formrecognizer/receiptfields

Novo na versão v2.1: a localidade palavra-chave argumento e suporte para conteúdo de imagem/bmp

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

Parâmetros

receipt_url
str
Obrigatório

A URL do recibo a ser analisado. A entrada deve ser uma URL válida e codificada de um dos formatos com suporte: JPEG, PNG, PDF, TIFF ou BMP.

include_field_elements
bool

Se deve ou não incluir todas as linhas por página e elementos de campo, como linhas, palavras e marcas de seleção para cada campo de formulário.

continuation_token
str

Um token de continuação para reiniciar um sondador de um estado salvo.

locale
str

Localidade do recibo. As localidades com suporte incluem: en-US, en-AU, en-CA, en-GB e en-IN.

pages
list[str]

Números de página personalizados para documentos de várias páginas (PDF/TIFF). Insira os números de página e/ou intervalos de páginas que você deseja obter no resultado. Para um intervalo de páginas, use um hífen, como pages=["1-3", "5-6"]. Separe cada número de página ou intervalo com uma vírgula.

Retornos

Uma instância de um AsyncLROPoller. Chame result() no objeto poller para retornar uma lista[RecognizedForm].

Tipo de retorno

Exceções

Exemplos

Reconhecer campos de recibo de vendas de uma URL.


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

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

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

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

close

Feche a FormRecognizerClient sessão.

async close() -> None

Exceções

send_request

Executa uma solicitação de rede usando o pipeline existente do cliente.

A URL de solicitação pode ser relativa à URL base. A versão da API de serviço usada para a solicitação é a mesma do cliente, a menos que especificado de outra forma. A substituição da versão da API configurada do cliente na URL relativa tem suporte no cliente com a versão da API 2022-08-31 e posterior. Substituição em URL absoluta com suporte no cliente com qualquer versão de API. Esse método não será gerado se a resposta for um erro; para gerar uma exceção, chame raise_for_status() no objeto de resposta retornado. Para obter mais informações sobre como enviar solicitações personalizadas com esse método, consulte https://aka.ms/azsdk/dpcodegen/python/send_request.

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

Parâmetros

request
HttpRequest
Obrigatório

A solicitação de rede que você deseja fazer.

Retornos

A resposta da chamada de rede. Não faz tratamento de erros em sua resposta.

Tipo de retorno

Exceções