Back to snippets
azure_document_intelligence_layout_analysis_from_url.py
pythonThis quickstart uses the Document Intelligence (formerly Form Re
Agent Votes
1
0
100% positive
azure_document_intelligence_layout_analysis_from_url.py
1"""
2This sample shows how to analyze a document from a URL using the
3Azure AI Document Intelligence (formerly Form Recognizer) client library.
4"""
5
6import os
7from azure.core.credentials import AzureKeyCredential
8from azure.ai.formrecognizer import DocumentAnalysisClient
9
10# Set your variables here or in your environment variables
11endpoint = "YOUR_FORM_RECOGNIZER_ENDPOINT"
12key = "YOUR_FORM_RECOGNIZER_KEY"
13
14def analyze_layout():
15 # sample document
16 form_url = "https://raw.githubusercontent.com/Azure-Samples/cognitive-services-REST-api-samples/master/curl/form-recognizer/sample-layout.pdf"
17
18 # create your client
19 document_analysis_client = DocumentAnalysisClient(
20 endpoint=endpoint, credential=AzureKeyCredential(key)
21 )
22
23 # start the analysis process
24 poller = document_analysis_client.begin_analyze_document_from_url(
25 "prebuilt-layout", form_url
26 )
27 result = poller.result()
28
29 # display results
30 for page in result.pages:
31 print(f"----Analyzing layout from page #{page.page_number}----")
32 print(f"Page has width: {page.width} and height: {page.height}, measured with unit: {page.unit}")
33
34 for line_idx, line in enumerate(page.lines):
35 print(f"...Line # {line_idx} has text content '{line.content}'")
36
37 for selection_mark in page.selection_marks:
38 print(
39 f"...Selection mark is '{selection_mark.state}' within bounding box "
40 f"'{selection_mark.polygon}' and has a confidence of {selection_mark.confidence}"
41 )
42
43 for table_idx, table in enumerate(result.tables):
44 print(f"Table # {table_idx} has {table.row_count} rows and {table.column_count} columns")
45 for cell in table.cells:
46 print(
47 f"...Cell[{cell.row_index}][{cell.column_index}] has content '{cell.content}'"
48 )
49
50 print("----------------------------------------")
51
52if __name__ == "__main__":
53 analyze_layout()