Анализ документов: извлечение структурированного содержимого

Обзор

Возможности анализа содержимого Azure помогают преобразовать неструктурированные данные в структурированные, читаемые компьютером сведения. Точно идентифицируя и извлекая элементы при сохранении их структурных связей, можно создавать мощные рабочие процессы обработки для широкого спектра приложений.

Объект contents с типом document поддерживает выходные данные для различных входных файлов, включая документы, изображения, текст и структурированные файлы. Эти выходные данные можно использовать для извлечения значимого содержимого из файлов, сохранения структур документов и разблокировки полного потенциала данных.

Тип содержимого документа включает выходные данные для входных файлов, таких как:

  • Документы: PDF-файлы, документы Word, презентации PowerPoint и электронные таблицы Excel
  • Цифры: фотографии, сканированные документы, диаграммы и схемы
  • Текстовые файлы: обычный текст, HTML, Markdown и RTF
  • Структурированное содержимое: ФАЙЛЫ XML, JSON, CSV и TSV
  • Электронная почта: форматы сообщений EML и MSG

Дополнительные сведения о поддерживаемых типах файлов, ограничениях размера файла и других ограничениях см. в разделе " Квоты и ограничения службы".

Структура ответа JSON

API распознавания содержимого возвращает результат анализа в структурированном формате JSON. Ниже приведена общая структура контейнера:

{
  "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 */ ],
        "signatures": [ /* signature elements */ ],
        "hyperlinks": [ /* hyperlink elements */ ],
        "annotations": [ /* annotation elements */ ],
        "metadata": { /* document metadata */ }
      }
    ]
  }
}

Элементы документа

Вы можете извлечь следующие элементы документа с помощью анализа документов:

Не все элементы содержимого и макета применимы или в настоящее время поддерживаются всеми типами файлов документов.

Элементы содержимого Markdown

Понимание содержимого создает форматированный Markdown, который сохраняет структуру исходного документа. По этой причине большие языковые модели могут лучше понять контекст документа и иерархические связи для задач анализа и создания на основе ИИ. Помимо слов, меток выделения, штрихкодов, формул и изображений в виде содержимого, Markdown также содержит разделы, таблицы и метаданные страниц для визуальной отрисовки и обработки машин. Узнайте больше о том, как content Understanding представляет элементы содержимого и макета в Markdown.

Слова

Слово — это элемент содержимого, состоящий из последовательности символов. Приложение Юникода "Стандартный" #29 определяет границы слов. Для латинских языков слова могут быть разделены с помощью знаков препинания даже без пробелов. В некоторых языках, таких как китайский, дополнительные словари слов используются для включения разбиения слов на семантических границах. Дополнительные сведения см. в разделе "Анализ границ".

Пример 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)"
    }
  ]
}

Снимок экрана: обнаруженные слова.

Отметки выбора

Знак выбора — это элемент содержимого, представляющий визуальный глиф, указывающий состояние выделенного фрагмента. Метки выделения могут отображаться в документе как флажки, флажки или кнопки. Вы можете выбрать или очистить метку выделения с различным визуальным представлением, чтобы указать состояние. Метки выделения кодируются как слова в результатах анализа документов с помощью символов Юникода (выбранных) и (очищаются).

Content Understanding обнаруживает флажки внутри ячейки таблицы в виде меток выделения в выбранном состоянии. Он не обнаруживает пустые ячейки таблицы в виде меток выделения в состоянии очистки.

Пример 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)"
    }
  ]
}

Снимок экрана: обнаруженные знаки выделения.

Штрихкоды

Штрихкод — это элемент содержимого, описывающий как линейные (например, КОДЫ ИЛИ EAN), так и двухмерные (например, штрихкоды QR или MaxiCode). Понимание содержимого представляет штрихкоды с помощью обнаруженных типов и извлеченных значений. В настоящее время поддерживаются следующие форматы штрихкодов:

Тип штрихкода Описание
QRCode QR-код, как определено в ISO/IEC 18004:2015
PDF417 PDF417, как определено в ISO 15438
UPCA GS1 12-значный универсальный код продукта
UPCE GS1 6-значный универсальный код продукта
Code39 Код 39 штрихкода, как определено в ISO/IEC 16388:2007
Code128 Код 128 штрихкодов, как определено в ISO/IEC 15417:2007
EAN8 GS1 8-значный номер международной статьи (европейский номер статьи)
EAN13 GS1 13-значный международный номер статьи (европейский номер статьи)
DataBar Штрихкод GS1 DataBar
Code93 Код 93 штрихкода, как определено в ANSI/AIM BC5-1995
Codabar Штрихкод «Codabar», как определено в ANSI/AIM BC3-1995
DataBarExpanded Расширенный штрихкод GS1 DataBar
ITF Интерлированный 2 из 5 штрих-код (ITF), как определено в ANSI/AIM BC2-1995
MicroQRCode Микро QR-код, как определено в ISO/IEC 23941:2022
Aztec Код Aztec, как определено в ISO/IEC 24778:2008
DataMatrix Код матрицы данных, определенный в ISO/IEC 16022:2006
MaxiCode MaxiCode, как определено в ISO/IEC 16023:2000

Пример 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
    }
  ]
}

Формулы

Формула — это элемент содержимого, представляющий математические выражения в документе. Это может быть встроенная формула, внедренная с другим текстом или формулой отображения, которая занимает всю строку. Многостроковые формулы представлены в виде нескольких элементов формул отображения, сгруппированных в абзацы для сохранения математических связей.

Формула может быть типом inline или display в зависимости от размещения формулы в документе.

Пример 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
      }
    }
  ]
}

Числа

Рисунок — это элемент содержимого, представляющий внедренное изображение, рисунок или диаграмму в документе. Понимание содержимого создает сводку обнаруженных диаграмм, преобразует выбранные изображения в представление совместимое с Chart.js и извлекает любой внедренный текст из изображений, а также связанные с ними подписи и сноски. Диаграммы представлены в содержимом рисунка с помощью синтаксиса chart.js, а схемы представлены в содержимом рисунка с помощью строки в синтаксисе Mermaid. Это необязательная функция, которую можно включить в конфигурации анализатора, задав enableFigureAnalysis и enableFigureDescription как true.

В настоящее время поддерживаются следующие типы рисунков:

Тип рисунка Представление
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

Пример 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]..."
    },
  ]
}

Подписи

Подпись — это элемент содержимого, представляющий подпись , обнаруженную в документе. Обнаружение подписей помогает обрабатывать контракты, счета и юридические документы или документы отдела кадров, где необходимо найти регионы подписи. Каждая подпись включает свою позицию в документе, а любой текст, распознанный внутри области подписи, фиксируется с помощью связанных элементов.

Пример JSON

{
  "signatures": [
    {
      "id": "1.1",
      "source": "D(1,5.4868,7.7451,6.9187,7.7397,6.9146,8.6099,5.491,8.6152)",
      "span": {
        "offset": 1498,
        "length": 20
      },
      "elements": [
        "/paragraphs/48"
      ]
    }
  ]
}

Когда подпись отображается в распознанной области страницы, например нижнего колонтитула, она также может включать role свойство, определяющее этот регион.

Гиперссылка — это элемент содержимого, представляющий внедренную ссылку, которая подключается к другому ресурсу, например веб-странице в документе. Система анализа содержания представляет гиперссылки, используя встроенные ссылки.

Пример JSON

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

Annotations

Заметки — это дополнительные метаданные документа для предоставления дополнительных сведений, уточнений или отзывов без изменения основного содержимого. Существует множество типов аннотаций, которые могут охватывать определенные пакеты контента или даже ссылаться на определенные ограничивающие рамки. Ниже приведен список типов заметок, которые мы поддерживаем.

Замечание

Обратите внимание, что заметки в настоящее время поддерживаются только в цифровых входных данных PDF.

Тип аннотации
highlight
underline
strikethrough
rectangle
circle
drawing
comments
other

Пример 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": [ ... ],
    }
  ]
}

Элементы макета

Элементы макета документа — это визуальные и структурные компоненты, такие как страницы, таблицы, абзацы, строки, таблицы, разделы и общая структура, которые помогают интерпретировать содержимое. Извлечение этих элементов позволяет средствам эффективно анализировать документы для таких задач, как извлечение информации, семантическая понимание и структурирование данных.

Страницы

Страница — это группирование содержимого, которое обычно соответствует одной стороне листа бумаги. Отрисованная страница характеризуется шириной и высотой в указанной единице. Как правило, изображения используют пиксели в то время как PDF-файлы используют дюймы. Свойство angle описывает общий угол текста в градусах для страниц, которые могут быть вращаются.

Для электронных таблиц, таких как Excel, каждый лист сопоставляется со страницей. Для презентаций, таких как PowerPoint, каждый слайд сопоставляется со страницей. Для форматов файлов, таких как HTML или документы Word, которые не имеют собственной концепции страницы без отрисовки, все основное содержимое рассматривается как одна страница.

Пример 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 */ ]
    }
  ]
}

Абзацы

Абзац — это упорядоченная последовательность строк, которые образуют логическую единицу. Как правило, линии совместно используют общее выравнивание и интервалы между строками. Абзацы часто разделяются по отступу, добавленным интервалам или маркерам или нумерации. Некоторые абзацы имеют специальные функциональные роли в документе. В настоящее время поддерживаются роли: заголовок страницы, нижний колонтитул страницы, номер страницы, заголовок раздела, сноска и блок формул.

Пример 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
      }
    }
  ]
}

Линии

Строка — это упорядоченная последовательность последовательных элементов содержимого, которые часто разделяются визуальными пространствами. Элементы содержимого в одной горизонтальной плоскости (строка), но разделенные более чем одним визуальным пространством, чаще всего разделяются на несколько строк. Эта функция иногда разделяет семантические семантические содержимое на отдельные строки. Кроме того, он включает представление текстового содержимого, разделенного на несколько столбцов или ячеек. Линии в вертикальном написании обнаруживаются в вертикальном направлении.

Пример 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
      }
    }
  ]
}

Таблицы

Таблица упорядочивает содержимое в группу ячеек в макете сетки. Строки и столбцы могут быть визуально разделены линиями сетки, цветовой полосой или большим интервалом. Позиция ячейки таблицы указывается с помощью индексов строк и столбцов. Ячейка может охватывать несколько строк и столбцов.

На основе его положения и стиля ячейка классифицируется как общее содержимое, заголовок строки, заголовок столбца, заглушка или описание:

  • Ячейка заголовка строки обычно является первой ячейкой в строке, описывающей другие ячейки в строке.
  • Ячейка заголовка столбца обычно является первой ячейкой в столбце, описывающей другие ячейки в столбце.
  • Строка или столбец может содержать несколько ячеек заголовков для описания иерархического содержимого.
  • Заглушку головной ячейки обычно является ячейкой в первой строке и первой позиции столбца. Ячейка пуста или описывает значения в ячейках заголовка в одной строке или столбце.
  • Ячейка описания обычно отображается в самой верхней или нижней области таблицы и описывает общее содержимое таблицы. Иногда она может отображаться в середине таблицы, чтобы разбить таблицу на разделы. Как правило, ячейки описания охватывают несколько ячеек в одной строке.

Заголовок таблицы указывает содержимое, объясняющее таблицу. Таблица также может содержать набор сносок. В отличие от ячейки описания, подпись обычно находится за пределами макета сетки. Сноски таблицы заносят содержимое внутри таблицы и часто помечаются символами сносок. Они часто находятся под сеткой таблицы.

Таблица может охватывать последовательные страницы документа. В этой ситуации продолжения таблицы на последующих страницах обычно поддерживают одинаковое количество столбцов, ширину и стили. Они часто повторяют заголовки столбцов. Как правило, содержимое между начальной таблицей и его продолжением не происходит, за исключением заголовков страниц, нижних колонтитулов и номеров страниц.

Таблица может охватывать последовательные страницы документа. В этой ситуации продолжения таблицы на последующих страницах обычно поддерживают одинаковое количество столбцов, ширину и стили. Они часто повторяют заголовки столбцов. Кроме заголовков страниц, нижних колонтитулов и номеров страниц, обычно между начальной таблицей и её продолжением нет промежуточного содержания.

Замечание

Диапазон таблиц охватывает как основное содержимое, так и связанные с ним субтитры и сноски.

Пример 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
        }
      }
    }
  ]
}

Снимок экрана: таблица, использующая функцию макета.

Разделы

Раздел — это логическая группировка связанных элементов содержимого, которые образуют иерархическую структуру в документе. Часто он начинается с заголовка раздела в качестве первого абзаца. Раздел может содержать подразделы для создания вложенной структуры документа, которая сохраняет семантические связи.

Пример JSON

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

Свойства элемента

Документы состоят из различных компонентов, которые классифицируются на структурные, текстовые и связанные с формой элементы. Эти элементы определяют организацию и презентацию документа. Вы можете систематически определять и извлекать элементы для дальнейшего анализа или приложения.

Диапазоны

Свойство span указывает логическую позицию элемента в документе с помощью смещения символов и длины в строковое свойство верхнего уровня markdown . По умолчанию смещения и длины символов возвращаются в точках кода Юникода, которые используются Python 3. Для размещения различных сред разработки, использующих разные символьные единицы, можно указать stringEncoding параметр запроса для возврата смещения диапазона и длины в единицах кода UTF16 (Java, JavaScript или .NET) или UTF8 байт (Go, Rust, Ruby или PHP).

Исходный материал

Свойство source описывает визуальное положение элемента в файле с помощью закодированной строки. Для документов исходная строка находится в одном из следующих форматов:

  • Ограничивающий многоугольник: D({pageNumber},{x1},{y1},{x2},{y2},{x3},{y3},{x4},{y4})
  • Выровненное по оси ограничивающее поле: D({pageNumber},{left},{top},{width},{height})

Номера страниц нумеруются с единицы. Ограничивающий многоугольник описывает последовательность точек, начиная слева и по часовой стрелке относительно естественной ориентации элемента. Для четырехлатеральных точек точки представляют верхний левый, правый верхний, нижний правый и нижний левый угол. Каждая точка представляет координату x,y в единице длины, указанной свойством unit . Как правило, единица измерения для изображений — пиксели. PDF-файлы используют дюймы.

Снимок экрана: обнаруженные ограничивающие области.

Замечание

В настоящее время распознавание контента возвращает только четырехточечный квадрилатеральный в качестве ограничивающего многоугольника. Будущие версии могут возвращать другое количество точек для описания более сложных фигур, таких как кривые линии или несектуемые изображения. В настоящее время источник возвращается только для элементов из отрисованных файлов (PDF/image).

Метаданные документа

Понимание содержимого может извлекать внедренные метаданные из исходного документа, например автора, даты создания и заголовка. Служба возвращает эти сведения в объекте metadata для каждого элемента содержимого. Объект metadata представляет собой плоскую карту строковых ключей со строковыми значениями. Включены только ключи с извлеченным значением, поэтому набор ключей зависит от типа документа и файла. Если метаданные недоступны, например для обычного изображения, служба окупит metadata объект.

Замечание

Метаданные документа доступны в 2026-06-01-preview версии API.

Пример JSON

{
  "metadata": {
    "contentType": "application/pdf",
    "pageCount": "1",
    "author": "John Doe",
    "createdAt": "2026-06-05T16:17:45+08:00",
    "language": "en"
  }
}

В следующей таблице описаны ключи метаданных, которые могут возвращать службы Content Understanding. Доступные ключи зависят от типа файла и метаданных, присутствующих в исходном документе.

Key Описание Пример
contentType Тип MIME документа. application/pdf
createdAt Метка времени создания в формате ISO 8601. Для сообщений электронной почты это значение является датой отправки. 2025-03-30T05:01:00Z
author Автор документа. John Doe
lastModifiedAt Метка времени последнего изменения в формате ISO 8601. 2025-04-01T10:30:00Z
lastModifiedBy Имя последнего пользователя для изменения документа. John Doe
pageCount Общее число страниц или слайдов. 3
characterCount Общее число символов. 2379
wordCount Общее число слов. 596
sourceContentEncoding Кодировка символов исходного документа после набора символов IANA. UTF-8
title Название документа. Quarterly Report
description Описание или сводка документа.
keywords Ключевые слова, присоединенные к запятой и пробелу. finance, report
language Язык, объявленный в исходном документе, в формате BCP-47. en-US
identifier Уникальный идентификатор документа (EPUB). urn:isbn:9780123456789
publisher Издатель документов (EPUB).
subject Строка темы для сообщений электронной почты. Quarterly Report
messageFrom Отправитель электронной почты в формате адреса RFC 5322. Joe Public <john@example.com>
messageTo Сообщение электронной почты получателям, присоединенное к запятой и пробелу. Mary Smith <mary@x.test>
messageCc Получатели электронной почты, присоединенные к запятой и пробелу.
messageBcc Получатели Bcc электронной почты, присоединенные к запятой и пробелу.

Доступные ключи зависят от типа файла. Например, документы Office (например.docx, и ) могут включать author, createdAtи .pptxtitle; .xlsx PDF-файлы могут включать, и; сообщения электронной почты (.emlи.msgpageCount) могут включатьmessageToauthormessageFrom, а subjectбольшинство форматов изображений возвращаются толькоcontentType, в то время как TIFF также включает в себяpageCount. language

Полный пример JSON

В следующем примере показана полная структура ответа JSON из анализа документа. Этот JSON представляет полные выходные данные из Content Understanding при обработке PDF-документа с несколькими типами элементов:

Снимок экрана: демонстрационный PDF-документ с примером содержимого, включая флажки, штрихкоды, формулы, изображения и таблицы.

{
  "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"
          }
        ]
      }
    ]
  }
}

В этом полном примере показано, как Content Understanding извлекает и структурирует все различные типы элементов из документа. Он предоставляет как необработанное содержимое, так и подробные позиционные и структурные сведения, обеспечивающие расширенные рабочие процессы обработки документов.