Freigeben über


DocumentAnalysisClient Klasse

DocumentAnalysisClient analysiert Informationen aus Dokumenten und Bildern und klassifiziert Dokumente. Es ist die Schnittstelle, die für die Analyse mit vordefinierten Modellen (unter anderem Quittungen, Visitenkarten, Rechnungen, Identitätsdokumente) verwendet werden kann, für die Analyse des Layouts von Dokumenten, die Analyse allgemeiner Dokumenttypen und die Analyse benutzerdefinierter Dokumente mit erstellten Modellen (eine vollständige Liste der vom Dienst unterstützten Modelle finden Sie unter : https://aka.ms/azsdk/formrecognizer/models). Es stellt verschiedene Methoden bereit, die auf Eingaben aus einer URL und Eingaben aus einem Stream basieren.

Hinweis

DocumentAnalysisClient sollte mit API-Versionen verwendet werden

31.08.2022 und höher. Um API-Versionen <=v2.1 zu verwenden, instanziieren Sie einen FormRecognizerClient.

Neu in Version 2022-08-31: Der DocumentAnalysisClient und seine Clientmethoden.

Vererbung
azure.ai.formrecognizer._form_base_client.FormRecognizerClientBase
DocumentAnalysisClient

Konstruktor

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

Parameter

endpoint
str
Erforderlich

Unterstützte Cognitive Services-Endpunkte (Protokoll und Hostname, z. B. ). https://westus2.api.cognitive.microsoft.com

credential
AzureKeyCredential oder TokenCredential
Erforderlich

Anmeldeinformationen, die der Client für die Herstellung einer Verbindung mit Azure benötigt Dies ist eine instance von AzureKeyCredential, wenn Sie einen API-Schlüssel oder tokenanmeldeinformationen von verwendenidentity.

api_version
str oder DocumentAnalysisApiVersion

Die API-Version des Diensts, der für Anforderungen verwendet werden soll. Standardmäßig wird die neueste Dienstversion verwendet. Die Einstellung auf eine ältere Version kann zu einer geringeren Featurekompatibilität führen. Um API-Versionen <=v2.1 zu verwenden, instanziieren Sie einen FormRecognizerClient.

Beispiele

Erstellen des DocumentAnalysisClient mit einem Endpunkt und API-Schlüssel.


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

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

   document_analysis_client = DocumentAnalysisClient(endpoint, AzureKeyCredential(key))

Erstellen des DocumentAnalysisClient mit Tokenanmeldeinformationen.


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

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

   document_analysis_client = DocumentAnalysisClient(endpoint, credential)

Methoden

begin_analyze_document

Analysieren sie Feldtext und semantische Werte aus einem bestimmten Dokument.

Neu in Version 2023-07-31: Die Features Schlüsselwort (keyword) Argument.

begin_analyze_document_from_url

Analysieren sie Feldtext und semantische Werte aus einem bestimmten Dokument. Die Eingabe muss der Speicherort (URL) des zu analysierenden Dokuments sein.

Neu in Version 2023-07-31: Die Features Schlüsselwort (keyword) Argument.

begin_classify_document

Klassifizieren Sie ein Dokument mithilfe eines Dokumentklassifizierers. Weitere Informationen zum Erstellen eines benutzerdefinierten Klassifizierungsmodells finden Sie unter https://aka.ms/azsdk/formrecognizer/buildclassifiermodel.

Neu in Version 2023-07-31: Die begin_classify_document Clientmethode.

begin_classify_document_from_url

Klassifizieren Sie ein bestimmtes Dokument mit einem Dokumentklassifizierer. Weitere Informationen zum Erstellen eines benutzerdefinierten Klassifizierungsmodells finden Sie unter https://aka.ms/azsdk/formrecognizer/buildclassifiermodel. Die Eingabe muss der Speicherort (URL) des zu klassifizierenden Dokuments sein.

Neu in Version 2023-07-31: Die begin_classify_document_from_url Clientmethode.

close

Schließen Sie die DocumentAnalysisClient Sitzung.

send_request

Führt eine Netzwerkanforderung mithilfe der vorhandenen Pipeline des Clients aus.

Die Anforderungs-URL kann relativ zur Basis-URL sein. Sofern nicht anders angegeben, ist die für die Anforderung verwendete Dienst-API-Version mit der des Clients identisch. Das Überschreiben der konfigurierten API-Version des Clients in relativer URL wird auf dem Client mit API-Version 2022-08-31 und höher unterstützt. Überschreiben in absoluter URL, die auf dem Client mit einer beliebigen API-Version unterstützt wird. Diese Methode löst nicht aus, wenn die Antwort ein Fehler ist. Um eine Ausnahme auszulösen, rufen Sie raise_for_status() für das zurückgegebene Antwortobjekt auf. Weitere Informationen zum Senden benutzerdefinierter Anforderungen mit dieser Methode finden Sie unter https://aka.ms/azsdk/dpcodegen/python/send_request.

begin_analyze_document

Analysieren sie Feldtext und semantische Werte aus einem bestimmten Dokument.

Neu in Version 2023-07-31: Die Features Schlüsselwort (keyword) Argument.

begin_analyze_document(model_id: str, document: bytes | IO[bytes], **kwargs: Any) -> LROPoller[AnalyzeResult]

Parameter

model_id
str
Erforderlich

Ein eindeutiger Modellbezeichner kann als Zeichenfolge übergeben werden. Verwenden Sie diese Option, um die benutzerdefinierte Modell-ID oder die vordefinierte Modell-ID anzugeben. Vordefinierte Modell-IDs, die unterstützt werden, finden Sie hier: https://aka.ms/azsdk/formrecognizer/models

document
bytes oder IO[bytes]
Erforderlich

Dateistream oder Bytes. Informationen zu vom Dienst unterstützten Dateitypen finden Sie unter . https://aka.ms/azsdk/formrecognizer/supportedfiles

pages
str

Benutzerdefinierte Seitenzahlen für mehrseitige Dokumente (PDF/TIFF). Geben Sie die Seitenzahlen und/oder Seitenbereiche ein, die Sie im Ergebnis abrufen möchten. Verwenden Sie für einen Bereich von Seiten einen Bindestrich, z. B. pages="1-3, 5-6". Trennen Sie jede Seitenzahl oder jeden Bereich durch ein Komma.

locale
str

Gebietsschemahinweis des Eingabedokuments. Weitere Informationen finden Sie unter Unterstützte Gebietsschemas: https://aka.ms/azsdk/formrecognizer/supportedlocales.

features
list[str]

Zu aktivierende Dokumentanalysefeatures.

Gibt zurück

Ein instance eines LROPollers. Rufen Sie result() für das Abfrageobjekt auf, um ein AnalyzeResultzurückzugeben.

Rückgabetyp

Ausnahmen

Beispiele

Analysieren einer Rechnung. Weitere Beispiele finden Sie im Ordner beispiele .


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

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

   document_analysis_client = DocumentAnalysisClient(
       endpoint=endpoint, credential=AzureKeyCredential(key)
   )
   with open(path_to_sample_documents, "rb") as f:
       poller = document_analysis_client.begin_analyze_document(
           "prebuilt-invoice", document=f, locale="en-US"
       )
   invoices = poller.result()

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

Analysieren eines benutzerdefinierten Dokuments. Weitere Beispiele finden Sie im Ordner beispiele .


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

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

   document_analysis_client = DocumentAnalysisClient(
       endpoint=endpoint, credential=AzureKeyCredential(key)
   )

   # Make sure your document's type is included in the list of document types the custom model can analyze
   with open(path_to_sample_documents, "rb") as f:
       poller = document_analysis_client.begin_analyze_document(
           model_id=model_id, document=f
       )
   result = poller.result()

   for idx, document in enumerate(result.documents):
       print(f"--------Analyzing document #{idx + 1}--------")
       print(f"Document has type {document.doc_type}")
       print(f"Document has document type confidence {document.confidence}")
       print(f"Document was analyzed with model with ID {result.model_id}")
       for name, field in document.fields.items():
           field_value = field.value if field.value else field.content
           print(
               f"......found field of type '{field.value_type}' with value '{field_value}' and with confidence {field.confidence}"
           )

   # iterate over tables, lines, and selection marks on each page
   for page in result.pages:
       print(f"\nLines found on page {page.page_number}")
       for line in page.lines:
           print(f"...Line '{line.content}'")
       for word in page.words:
           print(f"...Word '{word.content}' has a confidence of {word.confidence}")
       if page.selection_marks:
           print(f"\nSelection marks found on page {page.page_number}")
           for selection_mark in page.selection_marks:
               print(
                   f"...Selection mark is '{selection_mark.state}' and has a confidence of {selection_mark.confidence}"
               )

   for i, table in enumerate(result.tables):
       print(f"\nTable {i + 1} can be found on page:")
       for region in table.bounding_regions:
           print(f"...{region.page_number}")
       for cell in table.cells:
           print(
               f"...Cell[{cell.row_index}][{cell.column_index}] has text '{cell.content}'"
           )
   print("-----------------------------------")

begin_analyze_document_from_url

Analysieren sie Feldtext und semantische Werte aus einem bestimmten Dokument. Die Eingabe muss der Speicherort (URL) des zu analysierenden Dokuments sein.

Neu in Version 2023-07-31: Die Features Schlüsselwort (keyword) Argument.

begin_analyze_document_from_url(model_id: str, document_url: str, **kwargs: Any) -> LROPoller[AnalyzeResult]

Parameter

model_id
str
Erforderlich

Ein eindeutiger Modellbezeichner kann als Zeichenfolge übergeben werden. Verwenden Sie diese Option, um die benutzerdefinierte Modell-ID oder die vordefinierte Modell-ID anzugeben. Vordefinierte Modell-IDs, die unterstützt werden, finden Sie hier: https://aka.ms/azsdk/formrecognizer/models

document_url
str
Erforderlich

Die URL des zu analysierenden Dokuments. Die Eingabe muss eine gültige, ordnungsgemäß codierte (d. h. Sonderzeichen codieren, z. B. leere Leerzeichen) und eine öffentlich zugängliche URL sein. Informationen zu vom Dienst unterstützten Dateitypen finden Sie unter . https://aka.ms/azsdk/formrecognizer/supportedfiles

pages
str

Benutzerdefinierte Seitenzahlen für mehrseitige Dokumente (PDF/TIFF). Geben Sie die Seitenzahlen und/oder Seitenbereiche ein, die Sie im Ergebnis abrufen möchten. Verwenden Sie für einen Bereich von Seiten einen Bindestrich, z. B. pages="1-3, 5-6". Trennen Sie jede Seitenzahl oder jeden Bereich durch ein Komma.

locale
str

Gebietsschemahinweis des Eingabedokuments. Weitere Informationen finden Sie unter Unterstützte Gebietsschemas: https://aka.ms/azsdk/formrecognizer/supportedlocales.

features
list[str]

Zu aktivierende Dokumentanalysefeatures.

Gibt zurück

Ein instance eines LROPollers. Rufen Sie result() für das Abfrageobjekt auf, um ein AnalyzeResultzurückzugeben.

Rückgabetyp

Ausnahmen

Beispiele

Analysieren sie einen Beleg. Weitere Beispiele finden Sie im Ordner beispiele .


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

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

   document_analysis_client = DocumentAnalysisClient(
       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 = document_analysis_client.begin_analyze_document_from_url(
       "prebuilt-receipt", document_url=url
   )
   receipts = poller.result()

   for idx, receipt in enumerate(receipts.documents):
       print(f"--------Analysis of receipt #{idx + 1}--------")
       print(f"Receipt type: {receipt.doc_type if receipt.doc_type else 'N/A'}")
       merchant_name = receipt.fields.get("MerchantName")
       if merchant_name:
           print(
               f"Merchant Name: {merchant_name.value} has confidence: "
               f"{merchant_name.confidence}"
           )
       transaction_date = receipt.fields.get("TransactionDate")
       if transaction_date:
           print(
               f"Transaction Date: {transaction_date.value} has confidence: "
               f"{transaction_date.confidence}"
           )
       if receipt.fields.get("Items"):
           print("Receipt items:")
           for idx, item in enumerate(receipt.fields.get("Items").value):
               print(f"...Item #{idx + 1}")
               item_description = item.value.get("Description")
               if item_description:
                   print(
                       f"......Item Description: {item_description.value} has confidence: "
                       f"{item_description.confidence}"
                   )
               item_quantity = item.value.get("Quantity")
               if item_quantity:
                   print(
                       f"......Item Quantity: {item_quantity.value} has confidence: "
                       f"{item_quantity.confidence}"
                   )
               item_price = item.value.get("Price")
               if item_price:
                   print(
                       f"......Individual Item Price: {item_price.value} has confidence: "
                       f"{item_price.confidence}"
                   )
               item_total_price = item.value.get("TotalPrice")
               if item_total_price:
                   print(
                       f"......Total Item Price: {item_total_price.value} has confidence: "
                       f"{item_total_price.confidence}"
                   )
       subtotal = receipt.fields.get("Subtotal")
       if subtotal:
           print(f"Subtotal: {subtotal.value} has confidence: {subtotal.confidence}")
       tax = receipt.fields.get("TotalTax")
       if tax:
           print(f"Total tax: {tax.value} has confidence: {tax.confidence}")
       tip = receipt.fields.get("Tip")
       if tip:
           print(f"Tip: {tip.value} has confidence: {tip.confidence}")
       total = receipt.fields.get("Total")
       if total:
           print(f"Total: {total.value} has confidence: {total.confidence}")
       print("--------------------------------------")

begin_classify_document

Klassifizieren Sie ein Dokument mithilfe eines Dokumentklassifizierers. Weitere Informationen zum Erstellen eines benutzerdefinierten Klassifizierungsmodells finden Sie unter https://aka.ms/azsdk/formrecognizer/buildclassifiermodel.

Neu in Version 2023-07-31: Die begin_classify_document Clientmethode.

begin_classify_document(classifier_id: str, document: bytes | IO[bytes], **kwargs: Any) -> LROPoller[AnalyzeResult]

Parameter

classifier_id
str
Erforderlich

Ein eindeutiger Dokumentklassifizierungsbezeichner kann als Zeichenfolge übergeben werden.

document
bytes oder IO[bytes]
Erforderlich

Dateistream oder Bytes. Informationen zu vom Dienst unterstützten Dateitypen finden Sie unter . https://aka.ms/azsdk/formrecognizer/supportedfiles

Gibt zurück

Ein instance eines LROPollers. Rufen Sie result() für das Abfrageobjekt auf, um ein AnalyzeResultzurückzugeben.

Rückgabetyp

Ausnahmen

Beispiele

Klassifizieren eines Dokuments. Weitere Beispiele finden Sie im Ordner beispiele .


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

   endpoint = os.environ["AZURE_FORM_RECOGNIZER_ENDPOINT"]
   key = os.environ["AZURE_FORM_RECOGNIZER_KEY"]
   classifier_id = os.getenv("CLASSIFIER_ID", classifier_id)

   document_analysis_client = DocumentAnalysisClient(
       endpoint=endpoint, credential=AzureKeyCredential(key)
   )
   with open(path_to_sample_documents, "rb") as f:
       poller = document_analysis_client.begin_classify_document(
           classifier_id, document=f
       )
   result = poller.result()

   print("----Classified documents----")
   for doc in result.documents:
       print(
           f"Found document of type '{doc.doc_type or 'N/A'}' with a confidence of {doc.confidence} contained on "
           f"the following pages: {[region.page_number for region in doc.bounding_regions]}"
       )

begin_classify_document_from_url

Klassifizieren Sie ein bestimmtes Dokument mit einem Dokumentklassifizierer. Weitere Informationen zum Erstellen eines benutzerdefinierten Klassifizierungsmodells finden Sie unter https://aka.ms/azsdk/formrecognizer/buildclassifiermodel. Die Eingabe muss der Speicherort (URL) des zu klassifizierenden Dokuments sein.

Neu in Version 2023-07-31: Die begin_classify_document_from_url Clientmethode.

begin_classify_document_from_url(classifier_id: str, document_url: str, **kwargs: Any) -> LROPoller[AnalyzeResult]

Parameter

classifier_id
str
Erforderlich

Ein eindeutiger Dokumentklassifizierungsbezeichner kann als Zeichenfolge übergeben werden.

document_url
str
Erforderlich

Die URL des zu klassifizierenden Dokuments. Die Eingabe muss eine gültige, ordnungsgemäß codierte (d. h. Sonderzeichen wie leere Leerzeichen codieren) und eine öffentlich zugängliche URL eines der unterstützten Formate sein: https://aka.ms/azsdk/formrecognizer/supportedfiles.

Gibt zurück

Ein instance eines LROPollers. Rufen Sie result() für das Abfrageobjekt auf, um ein AnalyzeResultzurückzugeben.

Rückgabetyp

Ausnahmen

Beispiele

Klassifizieren eines Dokuments. Weitere Beispiele finden Sie im Ordner beispiele .


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

   endpoint = os.environ["AZURE_FORM_RECOGNIZER_ENDPOINT"]
   key = os.environ["AZURE_FORM_RECOGNIZER_KEY"]
   classifier_id = os.getenv("CLASSIFIER_ID", classifier_id)

   document_analysis_client = DocumentAnalysisClient(
       endpoint=endpoint, credential=AzureKeyCredential(key)
   )

   url = "https://raw.githubusercontent.com/Azure/azure-sdk-for-python/main/sdk/formrecognizer/azure-ai-formrecognizer/tests/sample_forms/forms/IRS-1040.pdf"

   poller = document_analysis_client.begin_classify_document_from_url(
       classifier_id, document_url=url
   )
   result = poller.result()

   print("----Classified documents----")
   for doc in result.documents:
       print(
           f"Found document of type '{doc.doc_type or 'N/A'}' with a confidence of {doc.confidence} contained on "
           f"the following pages: {[region.page_number for region in doc.bounding_regions]}"
       )

close

Schließen Sie die DocumentAnalysisClient Sitzung.

close() -> None

Ausnahmen

send_request

Führt eine Netzwerkanforderung mithilfe der vorhandenen Pipeline des Clients aus.

Die Anforderungs-URL kann relativ zur Basis-URL sein. Sofern nicht anders angegeben, ist die für die Anforderung verwendete Dienst-API-Version mit der des Clients identisch. Das Überschreiben der konfigurierten API-Version des Clients in relativer URL wird auf dem Client mit API-Version 2022-08-31 und höher unterstützt. Überschreiben in absoluter URL, die auf dem Client mit einer beliebigen API-Version unterstützt wird. Diese Methode löst nicht aus, wenn die Antwort ein Fehler ist. Um eine Ausnahme auszulösen, rufen Sie raise_for_status() für das zurückgegebene Antwortobjekt auf. Weitere Informationen zum Senden benutzerdefinierter Anforderungen mit dieser Methode finden Sie unter https://aka.ms/azsdk/dpcodegen/python/send_request.

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

Parameter

request
HttpRequest
Erforderlich

Die Netzwerkanforderung, die Sie stellen möchten.

stream
bool

Gibt an, ob die Antwortnutzlast gestreamt wird. Der Standardwert lautet „False“.

Gibt zurück

Die Antwort Ihres Netzwerkaufrufs. Führt keine Fehlerbehandlung für Ihre Antwort durch.

Rückgabetyp

Ausnahmen