Rilis pratinjau publik Kecerdasan Dokumen menyediakan akses awal ke fitur yang sedang dalam pengembangan aktif. Fitur, pendekatan, dan proses dapat berubah, sebelum Ketersediaan Umum (GA), berdasarkan umpan balik pengguna.
Versi pratinjau publik pustaka klien Kecerdasan Dokumen default ke REST API versi 2024-07-31-preview.
Pratinjau publik versi 2024-07-31-preview saat ini hanya tersedia di wilayah Azure berikut. Perhatikan bahwa model generatif kustom (ekstraksi bidang dokumen) di AI Studio hanya tersedia di wilayah US Tengah Utara:
US Timur
US Barat2
Eropa Barat
US Tengah Utara
Konten ini berlaku untuk:v4.0 (pratinjau) | Versi sebelumnya: v3.1 (GA)
Konten ini berlaku untuk:v3.1 (GA) | Versi terbaru: v4.0 (pratinjau)
Catatan
Kemampuan add-on tersedia dalam semua model kecuali untuk model kartu Nama.
Kemampuan
Kecerdasan Dokumen mendukung kemampuan analisis yang lebih canggih dan modular. Gunakan fitur add-on untuk memperluas hasil untuk menyertakan lebih banyak fitur yang diekstrak dari dokumen Anda. Beberapa fitur add-on dikenakan biaya tambahan. Fitur opsional ini dapat diaktifkan dan dinonaktifkan tergantung pada skenario ekstraksi dokumen. Untuk mengaktifkan fitur, tambahkan nama fitur terkait ke features properti string kueri. Anda dapat mengaktifkan lebih dari satu fitur add-on pada permintaan dengan menyediakan daftar fitur yang dipisahkan koma. Kemampuan add-on berikut tersedia untuk 2023-07-31 (GA) rilis dan yang lebih baru.
Tidak semua kemampuan add-on didukung oleh semua model. Untuk informasi selengkapnya, lihatekstraksi data model.
Kapabilitas add-on saat ini tidak didukung untuk jenis file Microsoft Office.
Kecerdasan Dokumen mendukung fitur opsional yang dapat diaktifkan dan dinonaktifkan tergantung pada skenario ekstraksi dokumen. Kemampuan add-on berikut tersedia untuk 2023-10-31-previewrilis , dan yang lebih baru:
Implementasi bidang kueri di API pratinjau 2023-10-30 berbeda dari rilis pratinjau terakhir. Implementasi baru lebih murah dan bekerja dengan baik dengan dokumen terstruktur.
✱ Add-On - Bidang kueri dihargai berbeda dari fitur add-on lainnya. Lihat harga untuk detailnya.
Format file yang didukung
PDF
Gambar: JPEG/JPG, , BMPPNG, TIFF,HEIF
✱ File Microsoft Office saat ini tidak didukung.
Ekstraksi resolusi tinggi
Tugas mengenali teks kecil dari dokumen berukuran besar, seperti gambar rekayasa, adalah tantangan. Seringkali teks dicampur dengan elemen grafis lainnya dan memiliki berbagai font, ukuran, dan orientasi. Selain itu, teks dapat dipecah menjadi bagian terpisah atau terhubung dengan simbol lain. Kecerdasan Dokumen sekarang mendukung ekstraksi konten dari jenis dokumen ini dengan ocr.highResolution kemampuan. Anda mendapatkan peningkatan kualitas ekstraksi konten dari dokumen A1/A2/A3 dengan mengaktifkan kemampuan add-on ini.
# Analyze a document at a URL:
formUrl = "https://github.com/Azure-Samples/document-intelligence-code-samples/blob/main/Data/add-on/add-on-highres.png?raw=true"
poller = document_intelligence_client.begin_analyze_document(
"prebuilt-layout",
AnalyzeDocumentRequest(url_source=formUrl),
features=[DocumentAnalysisFeature.OCR_HIGH_RESOLUTION], # Specify which add-on capabilities to enable.
)
result: AnalyzeResult = poller.result()
# [START analyze_with_highres]
if result.styles and any([style.is_handwritten for style in result.styles]):
print("Document contains handwritten content")
else:
print("Document does not contain handwritten content")
for page in result.pages:
print(f"----Analyzing layout from page #{page.page_number}----")
print(f"Page has width: {page.width} and height: {page.height}, measured with unit: {page.unit}")
if page.lines:
for line_idx, line in enumerate(page.lines):
words = get_words(page, line)
print(
f"...Line # {line_idx} has word count {len(words)} and text '{line.content}' "
f"within bounding polygon '{line.polygon}'"
)
for word in words:
print(f"......Word '{word.content}' has a confidence of {word.confidence}")
if page.selection_marks:
for selection_mark in page.selection_marks:
print(
f"Selection mark is '{selection_mark.state}' within bounding polygon "
f"'{selection_mark.polygon}' and has a confidence of {selection_mark.confidence}"
)
if result.tables:
for table_idx, table in enumerate(result.tables):
print(f"Table # {table_idx} has {table.row_count} rows and " f"{table.column_count} columns")
if table.bounding_regions:
for region in table.bounding_regions:
print(f"Table # {table_idx} location on page: {region.page_number} is {region.polygon}")
for cell in table.cells:
print(f"...Cell[{cell.row_index}][{cell.column_index}] has text '{cell.content}'")
if cell.bounding_regions:
for region in cell.bounding_regions:
print(f"...content on page {region.page_number} is within bounding polygon '{region.polygon}'")
# Analyze a document at a URL:
url = "(https://github.com/Azure-Samples/document-intelligence-code-samples/blob/main/Data/add-on/add-on-highres.png?raw=true"
poller = document_analysis_client.begin_analyze_document_from_url(
"prebuilt-layout", document_url=url, features=[AnalysisFeature.OCR_HIGH_RESOLUTION] # Specify which add-on capabilities to enable.
)
result = poller.result()
# [START analyze_with_highres]
if any([style.is_handwritten for style in result.styles]):
print("Document contains handwritten content")
else:
print("Document does not contain handwritten content")
for page in result.pages:
print(f"----Analyzing layout from page #{page.page_number}----")
print(
f"Page has width: {page.width} and height: {page.height}, measured with unit: {page.unit}"
)
for line_idx, line in enumerate(page.lines):
words = line.get_words()
print(
f"...Line # {line_idx} has word count {len(words)} and text '{line.content}' "
f"within bounding polygon '{format_polygon(line.polygon)}'"
)
for word in words:
print(
f"......Word '{word.content}' has a confidence of {word.confidence}"
)
for selection_mark in page.selection_marks:
print(
f"Selection mark is '{selection_mark.state}' within bounding polygon "
f"'{format_polygon(selection_mark.polygon)}' and has a confidence of {selection_mark.confidence}"
)
for table_idx, table in enumerate(result.tables):
print(
f"Table # {table_idx} has {table.row_count} rows and "
f"{table.column_count} columns"
)
for region in table.bounding_regions:
print(
f"Table # {table_idx} location on page: {region.page_number} is {format_polygon(region.polygon)}"
)
for cell in table.cells:
print(
f"...Cell[{cell.row_index}][{cell.column_index}] has text '{cell.content}'"
)
for region in cell.bounding_regions:
print(
f"...content on page {region.page_number} is within bounding polygon '{format_polygon(region.polygon)}'"
)
Kemampuan mengekstrak ocr.formula semua rumus yang diidentifikasi, seperti persamaan matematika, dalam formulas koleksi sebagai objek tingkat atas di bawah content. Di dalam content, rumus yang terdeteksi direpresentasikan sebagai :formula:. Setiap entri dalam koleksi ini mewakili rumus yang menyertakan tipe rumus sebagai inline atau display, dan representasi LaTeX-nya sebagai value bersama dengan koordinatnya polygon . Awalnya, rumus muncul di akhir setiap halaman.
# Analyze a document at a URL:
formUrl = "https://github.com/Azure-Samples/document-intelligence-code-samples/blob/main/Data/add-on/layout-formulas.png?raw=true"
poller = document_intelligence_client.begin_analyze_document(
"prebuilt-layout",
AnalyzeDocumentRequest(url_source=formUrl),
features=[DocumentAnalysisFeature.FORMULAS], # Specify which add-on capabilities to enable
)
result: AnalyzeResult = poller.result()
# [START analyze_formulas]
for page in result.pages:
print(f"----Formulas detected from page #{page.page_number}----")
if page.formulas:
inline_formulas = [f for f in page.formulas if f.kind == "inline"]
display_formulas = [f for f in page.formulas if f.kind == "display"]
# To learn the detailed concept of "polygon" in the following content, visit: https://aka.ms/bounding-region
print(f"Detected {len(inline_formulas)} inline formulas.")
for formula_idx, formula in enumerate(inline_formulas):
print(f"- Inline #{formula_idx}: {formula.value}")
print(f" Confidence: {formula.confidence}")
print(f" Bounding regions: {formula.polygon}")
print(f"\nDetected {len(display_formulas)} display formulas.")
for formula_idx, formula in enumerate(display_formulas):
print(f"- Display #{formula_idx}: {formula.value}")
print(f" Confidence: {formula.confidence}")
print(f" Bounding regions: {formula.polygon}")
# Analyze a document at a URL:
url = "https://github.com/Azure-Samples/document-intelligence-code-samples/blob/main/Data/add-on/layout-formulas.png?raw=true"
poller = document_analysis_client.begin_analyze_document_from_url(
"prebuilt-layout", document_url=url, features=[AnalysisFeature.FORMULAS] # Specify which add-on capabilities to enable
)
result = poller.result()
# [START analyze_formulas]
for page in result.pages:
print(f"----Formulas detected from page #{page.page_number}----")
inline_formulas = [f for f in page.formulas if f.kind == "inline"]
display_formulas = [f for f in page.formulas if f.kind == "display"]
print(f"Detected {len(inline_formulas)} inline formulas.")
for formula_idx, formula in enumerate(inline_formulas):
print(f"- Inline #{formula_idx}: {formula.value}")
print(f" Confidence: {formula.confidence}")
print(f" Bounding regions: {format_polygon(formula.polygon)}")
print(f"\nDetected {len(display_formulas)} display formulas.")
for formula_idx, formula in enumerate(display_formulas):
print(f"- Display #{formula_idx}: {formula.value}")
print(f" Confidence: {formula.confidence}")
print(f" Bounding regions: {format_polygon(formula.polygon)}")
"content": ":formula:",
"pages": [
{
"pageNumber": 1,
"formulas": [
{
"kind": "inline",
"value": "\\frac { \\partial a } { \\partial b }",
"polygon": [...],
"span": {...},
"confidence": 0.99
},
{
"kind": "display",
"value": "y = a \\times b + a \\times c",
"polygon": [...],
"span": {...},
"confidence": 0.99
}
]
}
]
Ekstraksi properti font
Kemampuan ocr.font mengekstrak semua properti font teks yang diekstrak dalam styles koleksi sebagai objek tingkat atas di bawah content. Setiap objek gaya menentukan properti font tunggal, rentang teks yang berlaku untuknya, dan skor keyakinan yang sesuai. Properti gaya yang ada diperluas dengan lebih banyak properti font seperti similarFontFamily untuk font teks, fontStyle untuk gaya seperti miring dan normal, fontWeight untuk tebal atau normal, color untuk warna teks, dan backgroundColor untuk warna kotak pembatas teks.
# Analyze a document at a URL:
formUrl = "https://github.com/Azure-Samples/document-intelligence-code-samples/blob/main/Data/receipt/receipt-with-tips.png?raw=true"
poller = document_intelligence_client.begin_analyze_document(
"prebuilt-layout",
AnalyzeDocumentRequest(url_source=formUrl),
features=[DocumentAnalysisFeature.STYLE_FONT] # Specify which add-on capabilities to enable.
)
result: AnalyzeResult = poller.result()
# [START analyze_fonts]
# DocumentStyle has the following font related attributes:
similar_font_families = defaultdict(list) # e.g., 'Arial, sans-serif
font_styles = defaultdict(list) # e.g, 'italic'
font_weights = defaultdict(list) # e.g., 'bold'
font_colors = defaultdict(list) # in '#rrggbb' hexadecimal format
font_background_colors = defaultdict(list) # in '#rrggbb' hexadecimal format
if result.styles and any([style.is_handwritten for style in result.styles]):
print("Document contains handwritten content")
else:
print("Document does not contain handwritten content")
return
print("\n----Fonts styles detected in the document----")
# Iterate over the styles and group them by their font attributes.
for style in result.styles:
if style.similar_font_family:
similar_font_families[style.similar_font_family].append(style)
if style.font_style:
font_styles[style.font_style].append(style)
if style.font_weight:
font_weights[style.font_weight].append(style)
if style.color:
font_colors[style.color].append(style)
if style.background_color:
font_background_colors[style.background_color].append(style)
print(f"Detected {len(similar_font_families)} font families:")
for font_family, styles in similar_font_families.items():
print(f"- Font family: '{font_family}'")
print(f" Text: '{get_styled_text(styles, result.content)}'")
print(f"\nDetected {len(font_styles)} font styles:")
for font_style, styles in font_styles.items():
print(f"- Font style: '{font_style}'")
print(f" Text: '{get_styled_text(styles, result.content)}'")
print(f"\nDetected {len(font_weights)} font weights:")
for font_weight, styles in font_weights.items():
print(f"- Font weight: '{font_weight}'")
print(f" Text: '{get_styled_text(styles, result.content)}'")
print(f"\nDetected {len(font_colors)} font colors:")
for font_color, styles in font_colors.items():
print(f"- Font color: '{font_color}'")
print(f" Text: '{get_styled_text(styles, result.content)}'")
print(f"\nDetected {len(font_background_colors)} font background colors:")
for font_background_color, styles in font_background_colors.items():
print(f"- Font background color: '{font_background_color}'")
print(f" Text: '{get_styled_text(styles, result.content)}'")
# Analyze a document at a URL:
url = "https://github.com/Azure-Samples/document-intelligence-code-samples/blob/main/Data/receipt/receipt-with-tips.png?raw=true"
poller = document_analysis_client.begin_analyze_document_from_url(
"prebuilt-layout", document_url=url, features=[AnalysisFeature.STYLE_FONT] # Specify which add-on capabilities to enable.
)
result = poller.result()
# [START analyze_fonts]
# DocumentStyle has the following font related attributes:
similar_font_families = defaultdict(list) # e.g., 'Arial, sans-serif
font_styles = defaultdict(list) # e.g, 'italic'
font_weights = defaultdict(list) # e.g., 'bold'
font_colors = defaultdict(list) # in '#rrggbb' hexadecimal format
font_background_colors = defaultdict(list) # in '#rrggbb' hexadecimal format
if any([style.is_handwritten for style in result.styles]):
print("Document contains handwritten content")
else:
print("Document does not contain handwritten content")
print("\n----Fonts styles detected in the document----")
# Iterate over the styles and group them by their font attributes.
for style in result.styles:
if style.similar_font_family:
similar_font_families[style.similar_font_family].append(style)
if style.font_style:
font_styles[style.font_style].append(style)
if style.font_weight:
font_weights[style.font_weight].append(style)
if style.color:
font_colors[style.color].append(style)
if style.background_color:
font_background_colors[style.background_color].append(style)
print(f"Detected {len(similar_font_families)} font families:")
for font_family, styles in similar_font_families.items():
print(f"- Font family: '{font_family}'")
print(f" Text: '{get_styled_text(styles, result.content)}'")
print(f"\nDetected {len(font_styles)} font styles:")
for font_style, styles in font_styles.items():
print(f"- Font style: '{font_style}'")
print(f" Text: '{get_styled_text(styles, result.content)}'")
print(f"\nDetected {len(font_weights)} font weights:")
for font_weight, styles in font_weights.items():
print(f"- Font weight: '{font_weight}'")
print(f" Text: '{get_styled_text(styles, result.content)}'")
print(f"\nDetected {len(font_colors)} font colors:")
for font_color, styles in font_colors.items():
print(f"- Font color: '{font_color}'")
print(f" Text: '{get_styled_text(styles, result.content)}'")
print(f"\nDetected {len(font_background_colors)} font background colors:")
for font_background_color, styles in font_background_colors.items():
print(f"- Font background color: '{font_background_color}'")
print(f" Text: '{get_styled_text(styles, result.content)}'")
Kemampuan mengekstrak ocr.barcode semua kode batang yang diidentifikasi dalam barcodes koleksi sebagai objek tingkat atas di bawah content. contentDi dalam , kode batang yang terdeteksi direpresentasikan sebagai :barcode:. Setiap entri dalam koleksi ini mewakili kode batang dan menyertakan jenis kode batang sebagai kind dan konten kode batang yang disematkan bersama value dengan koordinatnya polygon . Awalnya, kode batang muncul di akhir setiap halaman. dikodekan confidence secara permanen untuk sebagai 1.
# Analyze a document at a URL:
url = "https://github.com/Azure-Samples/document-intelligence-code-samples/blob/main/Data/add-on/add-on-barcodes.jpg?raw=true"
poller = document_analysis_client.begin_analyze_document_from_url(
"prebuilt-layout", document_url=url, features=[AnalysisFeature.BARCODES] # Specify which add-on capabilities to enable.
)
result = poller.result()
# [START analyze_barcodes]
# Iterate over extracted barcodes on each page.
for page in result.pages:
print(f"----Barcodes detected from page #{page.page_number}----")
print(f"Detected {len(page.barcodes)} barcodes:")
for barcode_idx, barcode in enumerate(page.barcodes):
print(f"- Barcode #{barcode_idx}: {barcode.value}")
print(f" Kind: {barcode.kind}")
print(f" Confidence: {barcode.confidence}")
print(f" Bounding regions: {format_polygon(barcode.polygon)}")
languages Menambahkan fitur ke analyzeResult permintaan memprediksi bahasa utama yang terdeteksi untuk setiap baris teks bersama dengan confidence dalam koleksi di languages bawah analyzeResult.
# Analyze a document at a URL:
formUrl = "https://github.com/Azure-Samples/document-intelligence-code-samples/blob/main/Data/add-on/add-on-fonts_and_languages.png?raw=true"
poller = document_intelligence_client.begin_analyze_document(
"prebuilt-layout",
AnalyzeDocumentRequest(url_source=formUrl),
features=[DocumentAnalysisFeature.LANGUAGES] # Specify which add-on capabilities to enable.
)
result: AnalyzeResult = poller.result()
# [START analyze_languages]
print("----Languages detected in the document----")
if result.languages:
print(f"Detected {len(result.languages)} languages:")
for lang_idx, lang in enumerate(result.languages):
print(f"- Language #{lang_idx}: locale '{lang.locale}'")
print(f" Confidence: {lang.confidence}")
print(
f" Text: '{','.join([result.content[span.offset : span.offset + span.length] for span in lang.spans])}'"
)
# Analyze a document at a URL:
url = "https://github.com/Azure-Samples/document-intelligence-code-samples/blob/main/Data/add-on/add-on-fonts_and_languages.png?raw=true"
poller = document_analysis_client.begin_analyze_document_from_url(
"prebuilt-layout", document_url=url, features=[AnalysisFeature.LANGUAGES] # Specify which add-on capabilities to enable.
)
result = poller.result()
# [START analyze_languages]
print("----Languages detected in the document----")
print(f"Detected {len(result.languages)} languages:")
for lang_idx, lang in enumerate(result.languages):
print(f"- Language #{lang_idx}: locale '{lang.locale}'")
print(f" Confidence: {lang.confidence}")
print(f" Text: '{','.join([result.content[span.offset : span.offset + span.length] for span in lang.spans])}'")
Kemampuan PDF yang dapat dicari memungkinkan Anda mengonversi PDF analog, seperti file PDF gambar yang dipindai, ke PDF dengan teks yang disematkan. Teks yang disematkan memungkinkan pencarian teks mendalam dalam konten PDF yang diekstrak dengan melapisi entitas teks yang terdeteksi di atas file gambar.
Penting
Saat ini, kemampuan PDF yang dapat dicari hanya didukung oleh model prebuilt-readRead OCR . Saat menggunakan fitur ini, tentukan modelId sebagai prebuilt-read, karena jenis model lain akan mengembalikan kesalahan untuk versi pratinjau ini.
PDF yang dapat dicari disertakan dengan model pratinjau prebuilt-read 2024-07-31 tanpa biaya penggunaan untuk konsumsi PDF umum.
Gunakan PDF yang dapat dicari
Untuk menggunakan PDF yang dapat dicari, buat POST permintaan menggunakan Analyze operasi dan tentukan format output sebagai pdf:
POST /documentModels/prebuilt-read:analyze?output=pdf
{...}
202
Analyze Setelah operasi selesai, buat GET permintaan untuk mengambil hasil Analyze operasi.
Setelah berhasil diselesaikan, PDF dapat diambil dan diunduh sebagai application/pdf. Operasi ini memungkinkan pengunduhan langsung bentuk teks PDF yang disematkan alih-alih JSON yang dikodekan Base64.
// Monitor the operation until completion.
GET /documentModels/prebuilt-read/analyzeResults/{resultId}
200
{...}
// Upon successful completion, retrieve the PDF as application/pdf.
GET /documentModels/prebuilt-read/analyzeResults/{resultId}/pdf
200 OK
Content-Type: application/pdf
Pasangan kunci-nilai
Dalam versi API sebelumnya, prebuilt-document model mengekstrak pasangan kunci-nilai dari formulir dan dokumen. Dengan penambahan keyValuePairs fitur ke tata letak bawaan, model tata letak sekarang menghasilkan hasil yang sama.
Pasangan kunci-nilai adalah rentang tertentu dalam dokumen yang mengidentifikasi label atau kunci dan respons atau nilai terkaitnya. Dalam bentuk terstruktur, pasangan ini dapat menjadi label dan nilai yang dimasukkan pengguna untuk bidang tersebut. Dalam dokumen tidak terstruktur, pasangan ini dapat menjadi tanggal kontrak dieksekusi berdasarkan teks dalam paragraf. Model AI dilatih untuk mengekstrak kunci dan nilai yang dapat diidentifikasi berdasarkan berbagai jenis, format, dan struktur dokumen.
Kunci juga dapat ada dalam isolasi ketika model mendeteksi bahwa ada kunci, tanpa nilai terkait atau saat memproses bidang opsional. Misalnya, bidang nama tengah dapat dibiarkan kosong pada formulir dalam beberapa instans. Pasangan kunci-nilai adalah rentang teks yang terkandung dalam dokumen. Untuk dokumen di mana nilai yang sama dijelaskan dengan cara yang berbeda, misalnya, pelanggan/pengguna, kunci terkait adalah pelanggan atau pengguna (berdasarkan konteks).
Bidang kueri adalah kemampuan add-on untuk memperluas skema yang diekstrak dari model bawaan atau menentukan nama kunci tertentu saat nama kunci adalah variabel. Untuk menggunakan bidang kueri, atur fitur ke queryFields dan berikan daftar nama bidang yang dipisahkan koma di queryFields properti .
Kecerdasan Dokumen sekarang mendukung ekstraksi bidang kueri. Dengan ekstraksi bidang kueri, Anda bisa menambahkan bidang ke proses ekstraksi menggunakan permintaan kueri tanpa perlu menambahkan pelatihan.
Gunakan bidang kueri saat Anda perlu memperluas skema model bawaan atau kustom atau perlu mengekstrak beberapa bidang dengan output tata letak.
Bidang kueri adalah kemampuan add-on premium. Untuk hasil terbaik, tentukan bidang yang ingin Anda ekstrak menggunakan kasus unta atau nama bidang kasus Pascal untuk nama bidang multi-kata.
Bidang kueri mendukung maksimal 20 bidang per permintaan. Jika dokumen berisi nilai untuk bidang , bidang dan nilai dikembalikan.
Rilis ini memiliki implementasi baru dari kemampuan bidang kueri yang harganya lebih rendah dari implementasi sebelumnya dan harus divalidasi.
Catatan
Ekstraksi bidang kueri Document Intelligence Studio saat ini tersedia dengan API Model Tata Letak dan Bawaan dan rilis 2024-02-29-preview2023-10-31-preview yang lebih baru kecuali untuk US tax model (model W2, 1098s, dan 1099s).
Ekstraksi bidang kueri
Untuk ekstraksi bidang kueri, tentukan bidang yang ingin Anda ekstrak dan Kecerdasan Dokumen menganalisis dokumen yang sesuai. Berikut contohnya:
Jika Anda memproses kontrak di Studio Kecerdasan Dokumen, gunakan 2024-02-29-preview versi atau 2023-10-31-preview :
Anda dapat meneruskan daftar label bidang seperti Party1, , Party2, TermsOfUsePaymentTerms, PaymentDate, dan TermEndDate sebagai bagian analyze document dari permintaan.
Kecerdasan Dokumen dapat menganalisis dan mengekstrak data bidang dan mengembalikan nilai dalam output JSON terstruktur.
Selain bidang kueri, respons menyertakan teks, tabel, tanda pilihan, dan data relevan lainnya.
# Analyze a document at a URL:
formUrl = "https://github.com/Azure-Samples/document-intelligence-code-samples/blob/main/Data/invoice/simple-invoice.png?raw=true"
poller = document_intelligence_client.begin_analyze_document(
"prebuilt-layout",
AnalyzeDocumentRequest(url_source=formUrl),
features=[DocumentAnalysisFeature.QUERY_FIELDS], # Specify which add-on capabilities to enable.
query_fields=["Address", "InvoiceNumber"], # Set the features and provide a comma-separated list of field names.
)
result: AnalyzeResult = poller.result()
print("Here are extra fields in result:\n")
if result.documents:
for doc in result.documents:
if doc.fields and doc.fields["Address"]:
print(f"Address: {doc.fields['Address'].value_string}")
if doc.fields and doc.fields["InvoiceNumber"]:
print(f"Invoice number: {doc.fields['InvoiceNumber'].value_string}")