Analisis dokumen: Mengekstrak konten terstruktur

Gambaran Umum

Kemampuan analisis Azure Content Understanding membantu Anda mengubah data yang tidak terstruktur menjadi informasi terstruktur dan dapat dibaca mesin. Dengan mengidentifikasi dan mengekstrak elemen dengan tepat sambil mempertahankan hubungan strukturalnya, Anda dapat membangun alur kerja pemrosesan yang kuat untuk berbagai aplikasi.

Objek dengan jenis contents mendukung document output untuk berbagai file input yang berbeda, termasuk file dokumen, gambar, teks, dan terstruktur. Anda dapat menggunakan output ini untuk mengekstrak konten yang bermakna dari file Anda, mempertahankan struktur dokumen, dan membuka kunci potensi penuh data Anda.

Jenis konten dokumen mencakup output untuk file input seperti:

  • Dokumen: PDF, dokumen Word, presentasi PowerPoint, dan lembar bentang Excel
  • Gambar: Foto, dokumen, bagan, dan diagram yang dipindai
  • File teks: Teks biasa, HTML, Markdown, dan RTF
  • Konten terstruktur: file XML, JSON, CSV, dan TSV
  • Email: Format pesan EML dan MSG

Untuk informasi selengkapnya tentang jenis file yang didukung, batas ukuran file, dan batasan lainnya, lihat Kuota dan batas layanan.

Struktur untuk respons JSON

CONTENT Understanding API mengembalikan hasil analisis dalam format JSON terstruktur. Berikut adalah struktur kontainer keseluruhan:

{
  "id": "10a01d32-e21e-46e3-bb5c-361375f184de",
  "status": "Succeeded",
  "result": {
    "analyzerId": "my-analyzer",
    "apiVersion": "2025-11-01",
    "createdAt": "2025-06-18T22:50:34Z",
    "warnings": [],
    "contents": [
      {
        "markdown": "# Example Document\n\n...",
        "fields": { /* extracted field values */ },
        "kind": "document",
        "startPageNumber": 1,
        "endPageNumber": 2,
        "unit": "inch",
        "pages": [ /* page-level elements */ ],
        "paragraphs": [ /* paragraph elements */ ],
        "sections": [ /* section elements */ ],
        "tables": [ /* table elements */ ],
        "figures": [ /* figure elements */ ],
        "hyperlinks": [ /* hyperlink elements */ ],
        "annotations": [ /* annotation elements */ ]
      }
    ]
  }
}

Elemen dokumen

Anda dapat mengekstrak elemen dokumen berikut melalui analisis dokumen:

Tidak semua elemen konten dan tata letak berlaku atau saat ini didukung oleh semua jenis file dokumen.

Elemen konten markdown

Pemahaman Konten menghasilkan Markdown yang diformat dengan kaya yang mempertahankan struktur dokumen asli. Untuk alasan ini, model bahasa besar dapat lebih memahami konteks dokumen dan hubungan hierarkis untuk analisis yang didukung AI dan tugas pembuatan. Selain kata, tanda pilihan, kode batang, rumus, dan gambar sebagai konten, Markdown juga menyertakan bagian, tabel, dan metadata halaman untuk penyajian visual dan pemrosesan mesin. Pelajari selengkapnya tentang bagaimana Pemahaman Konten mewakili elemen konten dan tata letak di Markdown.

Kata

Kata adalah elemen konten yang terdiri dari urutan karakter. Unicode Standard Annex #29 mendefinisikan batas kata. Untuk bahasa yang menggunakan huruf Latin, kata-kata mungkin dipisahkan dari tanda baca bahkan tanpa spasi. Dalam beberapa bahasa, seperti Cina, kamus kata tambahan digunakan untuk mengaktifkan pemecahan kata pada batas semantik. Untuk informasi selengkapnya, lihat Analisis batas.

Contoh JSON:

{
  "words": [
    {
      "content": "Example",
      "span": {
        "length": 7
      },
      "confidence": 0.992,
      "source": "D(1,1.265,1.0836,2.4972,1.0816,2.4964,1.4117,1.2645,1.4117)"
    }
  ]
}

Cuplikan layar yang memperlihatkan kata-kata yang terdeteksi.

Tanda pilihan

Tanda pilihan adalah elemen konten yang mewakili glyph visual yang menunjukkan status pilihan. Tanda pilihan mungkin muncul di dokumen sebagai kotak centang, tanda centang, atau tombol. Anda dapat memilih atau menghapus tanda pilihan, dengan representasi visual yang berbeda untuk menunjukkan status. Tanda pilihan dikodekan sebagai kata dalam hasil analisis dokumen dengan menggunakan karakter Unicode (dipilih) dan (dibersihkan).

Pemahaman Konten mendeteksi tanda centang di dalam sel tabel sebagai tanda pilihan dalam status yang dipilih. Ini tidak mendeteksi sel tabel kosong sebagai tanda pilihan dalam status dihapus.

Contoh JSON:

{
  "words": [
    {
      "content": "☒",
      "span": {
        "length": 1
      },
      "confidence": 0.983,
      "source": "D(1,1.258,2.7952,1.3705,2.7949,1.371,2.9098,1.2575,2.9089)"
    }
  ]
}

Cuplikan layar yang memperlihatkan tanda pilihan yang terdeteksi.

Kode batang

Kode batang adalah elemen konten yang menjelaskan kode batang linear (misalnya, UPC atau EAN) dan dua dimensi (misalnya, QR atau MaxiCode). Pemahaman Konten mewakili kode batang dengan menggunakan jenis yang terdeteksi dan nilai yang diekstrak. Format kode batang berikut saat ini didukung:

Jenis kode batang Deskripsi
QRCode Kode QR, seperti yang didefinisikan dalam ISO/IEC 18004:2015
PDF417 PDF417, seperti yang didefinisikan dalam ISO 15438
UPCA Kode Produk Universal GS1 12 digit
UPCE Kode Produk Universal GS1 6 digit
Code39 Kode 39 kode batang, seperti yang didefinisikan dalam ISO/IEC 16388:2007
Code128 Kode batang 128, sebagaimana didefinisikan dalam ISO/IEC 15417:2007
EAN8 Nomor Artikel Internasional GS1 8 digit (Nomor Artikel Eropa)
EAN13 Nomor Artikel Internasional GS1 13 digit (Nomor Artikel Eropa)
DataBar Kode batang GS1 DataBar
Code93 Kode 93 kode batang, seperti yang didefinisikan dalam ANSI/AIM BC5-1995
Codabar Barcode Codabar, seperti yang didefinisikan dalam ANSI/AIM BC3-1995
DataBarExpanded Kode batang GS1 DataBar Diperluas
ITF "Kode batang Interleaved 2 dari 5 (ITF) seperti yang didefinisikan dalam ANSI/AIM BC2-1995"
MicroQRCode Kode Micro QR, seperti yang didefinisikan dalam ISO/IEC 23941:2022
Aztec Kode Aztec, seperti yang didefinisikan dalam ISO/IEC 24778:2008
DataMatrix Kode matriks data, seperti yang didefinisikan dalam ISO/IEC 16022:2006
MaxiCode MaxiCode, seperti yang didefinisikan dalam ISO/IEC 16023:2000

Contoh JSON:

{
  "barcodes": [
    {
      "kind": "Code39",
      "value": "Hello World",
      "source": "D(1,2.5738,4.8186,3.8617,4.8153,3.8621,4.9894,2.5743,4.9928)",
      "span": {"offset": 192, "length": 10 },
      "confidence": 0.977
    }
  ]
}

Rumus

Rumus adalah elemen konten yang mewakili ekspresi matematika dalam dokumen. Ini mungkin rumus sebaris yang disematkan dengan teks lain atau rumus tampilan yang mengambil seluruh baris. Rumus multibaris direpresentasikan sebagai beberapa elemen rumus tampilan yang dikelompokkan ke dalam paragraf untuk mempertahankan hubungan matematika.

Rumus bisa berjenis inline atau display bergantung pada penempatan rumus dalam dokumen.

Contoh JSON:

{
  "formulas": [
    {
      "kind": "inline",
      "value": "x = \\frac { - b \\pm \\sqrt { b ^ { 2 } - 4 a c } } { 2 a }",
      "confidence": 0.708,
      "source": "D(1,3.4282,7.0195,4.0452,7.0307,4.0425,7.1803,3.4255,7.1691)",
      "span": {
        "offset": 394,
        "length": 51
      }
    }
  ]
}

Angka

Gambar adalah elemen konten yang mewakili gambar, gambar, atau bagan yang disematkan dalam dokumen. Pemahaman Konten menghasilkan ringkasan gambar yang terdeteksi, mengonversi gambar tertentu menjadi representasi chart.js, dan mengekstrak teks yang disematkan dari gambar dan keterangan dan catatan kaki terkait. Bagan diwakili dalam konten gambar menggunakan sintaks chart.js dan diagram diwakili dalam konten gambar menggunakan string dalam sintaks putri duyung. Ini adalah fitur opsional yang dapat Anda aktifkan dalam konfigurasi penganalisis dengan mengatur enableFigureAnalysis dan enableFigureDescription sebagai true.

Jenis gambar berikut saat ini didukung:

Jenis gambar Representasi
Bar chart Chart.js
Line chart Chart.js
Pie chart Chart.js
Radar chart Chart.js
Scatter chart Chart.js
Bubble chart Chart.js
Quadrant chart Chart.js
Mixed chart (e.g. combined bar and line chart) Mermaid.js
Flow chart Mermaid.js
Sequence diagrams Mermaid.js
Gantt chart Mermaid.js

Contoh JSON:

{
  "figures": [
     {
      // enableFigureDescription = True
      "description": "This figure illustrates the sales revenue over the year 2023.",

      // enableFigureAnalysis = True
      "kind": "chart",
      "content": {
        "type": "line",
        "data": {
          "labels": ["January", "February", "March", "April", "May", "June", "July"],
          "datasets": [
            {
              "label": "A",
              "data": [93, -29, -17, -8, 73, 98, 40]
            },
            {
              "label": "B",
              "data": [20, 85, -79, 93, 27, -81, -22]
            }
          ]
        },
        "options": {
          "title": { "text": "Title" }
        }
      }
    },
    {
      "kind": "mermaid",
      "content": "xychart-beta\n    title \"Sales Revenue\"\n    x-axis [jan, feb, mar, apr]..."
    },
  ]
}

Hyperlink adalah elemen konten yang mewakili tautan tersemat yang tersambung ke sumber daya lain seperti halaman web dalam dokumen. Pemahaman Konten menampilkan hyperlink dengan menggunakan tautan yang disematkan.

Contoh JSON:

{
  "hyperlinks": [
        {
          "content": "Microsoft",
          "url": "https://www.microsoft.com",
          "span": {...},
          "source": "..."
        }
  ]
}

Annotations

Anotasi adalah metadata tambahan pada dokumen untuk memberikan informasi tambahan, klarifikasi, atau umpan balik tanpa mengubah konten utama itu sendiri. Ada banyak jenis anotasi yang dapat mencakup rentang konten tertentu, atau bahkan merujuk ke kotak pembatas tertentu. Di bawah ini adalah daftar jenis anotasi yang kami dukung.

Nota

Perhatikan bahwa anotasi saat ini hanya didukung dalam input PDF digital.

Jenis anotasi
highlight
underline
strikethrough
rectangle
circle
drawing
comments
other

Contoh JSON:

{
  "annotations": [
    {
      "id": "underline-1",
      "kind": "underline",
      "spans": [...],
      "source": "D(pageNumber,l,t,w,h)",
      "comments": [
        {
          "message": "Hi",
          "author": "johndoe",
          "createdAt": "2023-10-01T12:00:00Z",
          "tags": ["approved"]
        }
      ]
      "author": "paulhsu",
      "createdAt": "2023-10-01T12:00:00Z",
      "lastModifiedAt": "2023-10-02T12:00:00Z",
      "tags": [ ... ],
    }
  ]
}

Elemen tata letak

Elemen tata letak dokumen adalah komponen visual dan struktural, seperti halaman, tabel, paragraf, baris, tabel, bagian, dan struktur keseluruhan, yang membantu menginterpretasikan konten. Mengekstrak elemen-elemen ini memungkinkan alat menganalisis dokumen secara efisien untuk tugas seperti pengambilan informasi, pemahaman semantik, dan penataan data.

Halaman

Halaman adalah pengelompokan konten yang biasanya sesuai dengan satu sisi lembar kertas. Halaman yang dirender ditandai melalui lebar dan tinggi di unit yang ditentukan. Secara umum, gambar menggunakan piksel sementara PDF menggunakan inci. Properti angle menjelaskan sudut teks keseluruhan dalam derajat untuk halaman yang mungkin diputar.

Untuk lembar bentang seperti Excel, setiap lembar dipetakan ke halaman. Untuk presentasi, seperti PowerPoint, setiap slide dipetakan ke halaman. Untuk format file seperti dokumen HTML atau Word, yang tidak memiliki konsep halaman asli tanpa penyajian, seluruh konten utama diperlakukan sebagai satu halaman.

Contoh JSON:

{
  "pages": [
    {
      "pageNumber": 1,
      "angle": 0.0739153,
      "width": 8.5,
      "height": 11,
      "spans": [
        {
          "offset": 0,
          "length": 620
        }
      ],
      "words": [ /* array of word objects */ ],
      "barcodes": [ /* details of barcodes */ ],
      "lines": [ /* array of line objects */ ],
      "formulas": [ /* array of formula objects */ ]
    }
  ]
}

Paragraf-paragraf

Paragraf adalah urutan baris yang diurutkan yang membentuk unit logis. Biasanya, baris berbagi perataan dan penspasian umum di antara baris. Paragraf sering dibatasi melalui indentasi, penspasian tambahan, atau poin/penomoran. Beberapa paragraf memiliki peran fungsi khusus dalam dokumen. Peran yang saat ini didukung termasuk kepala halaman, bawah halaman, nomor halaman, judul, judul bagian, catatan kaki, dan blok formula.

Contoh JSON:

{
  "paragraphs": [
    {
      "role": "title",
      "content": "Example Document",
      "source": "D(1,1.264,1.0836,4.1584,1.0795,4.1589,1.4083,1.2644,1.4124)",
      "span": {
        "offset": 0,
        "length": 18
      }
    }
  ]
}

Baris

Garis adalah urutan yang diurutkan dari elemen konten berturut-turut, yang sering dipisahkan oleh ruang visual. Elemen konten dalam bidang horizontal (baris) yang sama tetapi dipisahkan oleh lebih dari satu ruang visual paling sering dibagi menjadi beberapa baris. Fitur ini terkadang membagi konten yang berdekatan secara semantik menjadi baris terpisah. Ini juga memungkinkan representasi konten tekstual dibagi menjadi beberapa kolom atau sel. Garis dalam penulisan vertikal terdeteksi ke arah vertikal.

Contoh JSON:

{
  "lines": [
    {
      "content": "Example Document",
      "source": "D(1,1.264,1.0836,4.1583,1.0795,4.1589,1.4083,1.2645,1.4117)",
      "span": {
        "offset": 0,
        "length": 16
      }
    }
  ]
}

Tabel

Tabel menata konten ke dalam sekelompok sel dalam tata letak kisi. Baris dan kolom mungkin dipisahkan secara visual oleh garis kisi, pita warna, atau penspasian yang lebih besar. Posisi sel tabel ditentukan melalui indeks baris dan kolomnya. Sel dapat mencakup beberapa baris dan kolom.

Berdasarkan posisi dan gayanya, sel diklasifikasikan sebagai konten umum, header baris, header kolom, kepala stub, atau deskripsi:

  • Sel header baris biasanya merupakan sel pertama dalam baris yang menjelaskan sel lain dalam baris.
  • Sel header kolom biasanya merupakan sel pertama dalam kolom yang menjelaskan sel lain dalam kolom.
  • Baris atau kolom dapat berisi beberapa sel header untuk menjelaskan konten hierarkis.
  • Sel kepala stub biasanya sel di baris pertama dan posisi kolom pertama. Sel kosong atau menjelaskan nilai dalam sel header dalam baris/kolom yang sama.
  • Sel deskripsi umumnya muncul di area paling atas atau paling bawah tabel dan menjelaskan konten tabel keseluruhan. Terkadang dapat muncul di tengah tabel untuk memecah tabel menjadi beberapa bagian. Biasanya, sel deskripsi mencakup beberapa sel dalam satu baris.

Keterangan tabel menentukan konten yang menjelaskan tabel. Tabel juga bisa memiliki sekumpulan catatan kaki. Tidak seperti sel deskripsi, keterangan biasanya terletak di luar tata letak kisi. Catatan kaki tabel membuat anotasi konten di dalam tabel dan sering ditandai dengan simbol catatan kaki. Mereka sering ditemukan di bawah kisi meja.

Tabel mungkin mencakup seluruh halaman berturut-turut dari dokumen. Dalam situasi ini, kelanjutan tabel di halaman berikutnya umumnya mempertahankan jumlah kolom, lebar, dan gaya yang sama. Mereka sering mengulangi judul kolom. Biasanya, tidak ada konten intervensi yang datang antara tabel awal dan kelanjutannya kecuali untuk header halaman, footer, dan nomor halaman.

Tabel mungkin mencakup seluruh halaman berturut-turut dari dokumen. Dalam situasi ini, kelanjutan tabel di halaman berikutnya umumnya mempertahankan jumlah kolom, lebar, dan gaya yang sama. Mereka sering mengulangi judul kolom. Selain header halaman, footer, dan nomor halaman, umumnya tidak ada konten yang mengintervensi antara tabel awal dan kelanjutannya.

Nota

Rentang untuk tabel akan mencakup konten inti dan keterangan dan catatan kaki terkait.

Contoh JSON:

{
  "tables": [
    {
      "rowCount": 6,
      "columnCount": 2,
      "cells": [
        {
          "kind": "columnHeader",
          "rowIndex": 0,
          "columnIndex": 0,
          "rowSpan": 1,
          "columnSpan": 1,
          "content": "Category",
          "source": "D(2,1.1674,5.0483,4.1733,5.0546,4.1733,5.2358,1.1674,5.2358)",
          "span": {
            "offset": 798,
            "length": 8
          },
          "elements": [
            "/paragraphs/7"
          ]
        }
      ],
      "source": "D(2,1.1566,5.0425,7.1855,5.0428,7.1862,6.1853,1.1574,6.1858)",
      "span": {
        "offset": 781,
        "length": 280
      },
      "caption": {
        "content": "Table 1: This is a table",
        "source": "D(2,1.1566,5.0425,7.1855,5.0428,7.1862,6.1853,1.1574,6.1858)",
        "span": {
          "offset": 335,
          "length": 30
        }
      }
    }
  ]
}

Cuplikan layar yang memperlihatkan tabel yang menggunakan fitur tata letak.

Bagian-bagian

Bagian adalah pengelompokan logis elemen konten terkait yang membentuk struktur hierarkis dalam dokumen. Ini sering kali dimulai dengan judul bagian sebagai paragraf pertama. Bagian mungkin berisi subbagian untuk membuat struktur dokumen berlapis yang mempertahankan hubungan semantik.

Contoh JSON:

{
  "sections": [
    {
      "span": {
        "offset": 113,
        "length": 77
      },
      "elements": [
        "/paragraphs/3",
        "/paragraphs/4"
      ]
    }
  ]
}

Properti elemen

Dokumen terdiri dari berbagai komponen yang dikategorikan ke dalam elemen struktural, tekstual, dan terkait formulir. Elemen-elemen ini menentukan organisasi dan presentasi dokumen. Anda dapat secara sistematis mengidentifikasi dan mengekstrak elemen untuk analisis atau aplikasi lebih lanjut.

Rentang

Properti span menentukan posisi logis elemen dalam dokumen melalui offset karakter dan panjang ke properti string tingkat markdown atas. Secara default, offset karakter dan panjang dikembalikan dalam titik kode Unicode, yang digunakan oleh Python 3. Untuk mengakomodasi lingkungan pengembangan yang berbeda yang menggunakan unit karakter yang berbeda, Anda dapat menentukan stringEncoding parameter kueri untuk mengembalikan offset dan panjang rentang dalam unit kode UTF16 (Java, JavaScript, atau .NET) atau byte UTF8 (Go, Rust, Ruby, atau PHP).

Sumber

Properti source menjelaskan posisi visual elemen dalam file dengan menggunakan string yang dikodekan. Untuk dokumen, string sumber berada dalam salah satu format berikut:

  • Poligon pembatas: D({pageNumber},{x1},{y1},{x2},{y2},{x3},{y3},{x4},{y4})
  • Kotak pembatas rata sumbu: D({pageNumber},{left},{top},{width},{height})

Nomor halaman adalah satu yang diindeks. Poligon pembatas menggambarkan urutan titik-titik, searah jarum jam dari kiri dalam kaitannya dengan orientasi alami elemen tersebut. Untuk kuadrilateral, titik mewakili sudut kiri atas, kanan atas, kanan bawah, dan kiri bawah. Setiap titik mewakili koordinat x,y dalam unit panjang yang ditentukan oleh unit properti . Secara umum, unit pengukuran untuk gambar adalah piksel. PDF menggunakan inci.

Cuplikan layar yang memperlihatkan wilayah pembatas yang terdeteksi.

Nota

Saat ini, Content Understanding hanya mengembalikan empat poin quadrilateral sebagai poligon pembatas. Versi mendatang mungkin mengembalikan jumlah titik yang berbeda untuk menggambarkan bentuk yang lebih kompleks, seperti garis melengkung atau gambar nonrektangular. Saat ini, sumber dikembalikan hanya untuk elemen dari file yang dirender (PDF/gambar).

Contoh JSON lengkap

Contoh berikut menunjukkan struktur respons JSON lengkap dari menganalisis dokumen. JSON ini mewakili output lengkap dari Content Understanding saat Anda memproses dokumen PDF dengan beberapa jenis elemen:

Cuplikan layar yang memperlihatkan dokumen PDF demo memperlihatkan contoh konten, termasuk kotak centang, kode batang, rumus, gambar, dan tabel.

{
  "id": "10a01d32-e21e-46e3-bb5c-361375f184de",
  "status": "Succeeded",
  "result": {
    "analyzerId": "auto-labeling-model-1750287025291-104",
    "apiVersion": "2025-11-01",
    "createdAt": "2025-06-18T22:50:34Z",
    "warnings": [],
    "contents": [
      {
        "markdown": "# Example Document\n\n\n## 1. Selection Marks (Checkboxes)\n\nEmployee Preferences Form\n☐\nRemote\n☒\nHybrid\n☐\nOn-site\n\n\n## 2. Barcodes\n\nGo check out Azure Content Understanding at the below link\n\n\n## 3. Formulas\n\nBayesian Inference (Posterior Probability):\n\n$$P \\left( \\theta \\mid D \\right) = \\frac { P \\left( D \\mid \\theta \\right) \\cdot P \\left( \\theta \\right) } { P \\left( D \\right) }$$\n\nWhere:\n\n$$P \\left( \\theta \\mid D \\right)$$\nis the posterior\n\n$P \\left( D \\mid \\theta \\right)$ is the likelihood\n$P \\left( \\theta \\right)$ is the prior\n\n$$P \\left( D \\right) i s \\quad t h e \\quad e v i d e n c e$$\n\n<!-- PageBreak -->\n\n\n## 4. Images\n\nSample Product Image\n\n\n<figure>\n\nContent\nUnderstanding\n\n</figure>\n\n\nImage Description: \"A ceramic coffee mug with company logo.\"\n\n\n## 5. Tables\n\n\n<table>\n<tr>\n<th>Category</th>\n<th>Amount ($)</th>\n</tr>\n<tr>\n<td>Rent</td>\n<td>1,200</td>\n</tr>\n<tr>\n<td>Utilities</td>\n<td>150</td>\n</tr>\n<tr>\n<td>Groceries</td>\n<td>300</td>\n</tr>\n<tr>\n<td>Transportation</td>\n<td>100</td>\n</tr>\n<tr>\n<td>Total</td>\n<td>1,750</td>\n</tr>\n</table>\n\n\n## 6. Paragraphs\n\nOur company is committed to fostering a productive and inclusive work environment. All\nemployees are expected to comply with the outlined policies and demonstrate mutual\nrespect in day-to-day operations. Regular reviews will ensure that these policies remain\nrelevant and effective.\n",
        "fields": {
          "EmployeePreferences": {
            "type": "string",
            "valueString": "Hybrid",
            "spans": [
              {
                "offset": 94,
                "length": 6
              }
            ],
            "confidence": 0.987,
            "source": "D(1,1.4104,2.7836,1.8760,2.7823,1.8760,2.9377,1.4110,2.9396)"
          },
          "ImageDescription": {
            "type": "string",
            "valueString": "\"A ceramic coffee mug with company logo.\"",
            "spans": [
              {
                "offset": 722,
                "length": 41
              }
            ],
            "confidence": 0.958,
            "source": "D(2,2.5222,4.2511,5.3236,4.2497,5.3237,4.4422,2.5223,4.4436)"
          }
        },
        "kind": "document",
        "startPageNumber": 1,
        "endPageNumber": 2,
        "unit": "inch",
        "pages": [
          {
            "pageNumber": 1,
            "angle": 0.0739153,
            "width": 8.5,
            "height": 11,
            "spans": [
              {
                "offset": 0,
                "length": 620
              }
            ],
            "words": [
              {
                "content": "Example",
                "span": {
                  "length": 7
                },
                "confidence": 0.992,
                "source": "D(1,1.265,1.0836,2.4972,1.0816,2.4964,1.4117,1.2645,1.4117)"
              },
              {
                "content": "Document",
                "span": {
                  "length": 8
                },
                "confidence": 0.996,
                "source": "D(1,2.6252,1.084,4.1615,1.0886,4.1615,1.3993,2.6241,1.4117)"
              },
              {
                "content": "☒",
                "span": {
                  "length": 1
                },
                "confidence": 0.983,
                "source": "D(1,1.258,2.7952,1.3705,2.7949,1.371,2.9098,1.2575,2.9089)"
              },
              {
                "content": "Hybrid",
                "span": {
                  "length": 6
                },
                "confidence": 0.996,
                "source": "D(1,1.4104,2.7836,1.876,2.7823,1.876,2.9377,1.411,2.9396)"
              }
            ],
            "lines": [
              {
                "content": "Example Document",
                "source": "D(1,1.264,1.0836,4.1583,1.0795,4.1589,1.4083,1.2645,1.4117)",
                "span": {
                  "offset": 0,
                  "length": 16
                }
              }
            ],
            "formulas": [
              {
                "confidence": 0.583
              },
              {
                "confidence": 0.708
              }
            ]
          },
          {
            "pageNumber": 2,
            "angle": 0.1008425,
            "width": 8.5,
            "height": 11,
            "spans": [
              {
                "offset": 620,
                "length": 744
              }
            ],
            "words": [
              {
                "content": "Images",
                "source": "D(2,1.4516,1.0434,2.0254,1.0463,2.0254,1.229,1.4506,1.224)"
              },
              {
                "content": "ceramic",
                "source": "D(2,2.5230,4.2539,2.6591,4.2543,2.6584,4.4392,2.5223,4.4407)"
              }
            ],
            "lines": [
              {
                "content": "4. Images",
                "source": "D(2,1.24,1.0409,2.0238,1.0463,2.0226,1.2284,1.2387,1.223)"
              }
            ]
          }
        ],
        "paragraphs": [
          {
            "role": "title",
            "content": "Example Document",
            "source": "D(1,1.264,1.0836,4.1584,1.0795,4.1589,1.4083,1.2644,1.4124)",
            "span": {
              "offset": 0,
              "length": 18
            }
          },
          {
            "role": "sectionHeading",
            "content": "1. Selection Marks (Checkboxes)",
            "source": "D(1,1.2461,1.8719,3.8532,1.8731,3.8531,2.065,1.246,2.0638)",
            "span": {
              "offset": 21,
              "length": 34
            }
          },
          {
            "content": "Employee Preferences Form ☐ Remote ☒ Hybrid ☐ On-site",
            "source": "D(1,1.246,2.0993,3.1019,2.1007,3.101,3.2724,1.2451,3.2709)",
            "span": {
              "offset": 57,
              "length": 53
            }
          }
        ],
        "sections": [
          {
            "span": {
              "offset": 0,
              "length": 1364
            },
            "elements": [
              "/paragraphs/0",
              "/sections/1",
              "/sections/2",
              "/sections/3",
              "/sections/4",
              "/sections/5",
              "/sections/6"
            ]
          },
          {
            "span": {
              "offset": 21,
              "length": 89
            },
            "elements": [
              "/paragraphs/1",
              "/paragraphs/2"
            ]
          }
        ],
        "tables": [
          {
            "rowCount": 6,
            "columnCount": 2,
            "cells": [
              {
                "kind": "columnHeader",
                "rowIndex": 0,
                "columnIndex": 0,
                "rowSpan": 1,
                "columnSpan": 1,
                "content": "Category",
                "source": "D(2,1.1674,5.0483,4.1733,5.0546,4.1733,5.2358,1.1674,5.2358)",
                "span": {
                  "offset": 798,
                  "length": 8
                }
              },
              {
                "kind": "columnHeader",
                "rowIndex": 0,
                "columnIndex": 1,
                "rowSpan": 1,
                "columnSpan": 1,
                "content": "Amount ($)",
                "source": "D(2,4.1733,5.0546,7.1668,5.0546,7.1668,5.2358,4.1733,5.2358)",
                "span": {
                  "offset": 816,
                  "length": 10
                }
              }
            ],
            "source": "D(2,1.1566,5.0425,7.1855,5.0428,7.1862,6.1853,1.1574,6.1858)",
            "span": {
              "offset": 781,
              "length": 280
            }
          }
        ],
        "figures": [
          {
            "source": "D(2,1.3465,1.8481,3.4788,1.8484,3.4779,3.8286,1.3456,3.8282)",
            "span": {
              "offset": 658,
              "length": 42
            },
            "elements": [
              "/paragraphs/14"
            ],
            "id": "2.1"
          }
        ]
      }
    ]
  }
}

Contoh lengkap ini menunjukkan bagaimana Pemahaman Konten mengekstrak dan menyusun semua jenis elemen yang berbeda dari dokumen. Ini menyediakan konten mentah dan informasi posisi dan struktural terperinci yang memungkinkan alur kerja pemrosesan dokumen tingkat lanjut.