COMRAD404 / HOWTO

Как извлечь таблицы из изображений с AI

Пошаговый маршрут выбора, запуска и проверки AI-инструмента для извлечения таблиц из изображений: AWS Textract, Google Document AI, Azure AI Document Intelligence, Microsoft Table Transformer и PaddleOCR.

Понадобится

Зависит от выбранного сервиса; точное время в источниках не указано
  • Изображение или скан документа с таблицей
  • Аккаунт AWS, Google Cloud или Azure — либо локальное окружение для Microsoft Table Transformer или PaddleOCR PP-StructureV3
  • Понимание, нужен ли вам облачный API или self-hosted пайплайн
  • Проверка региона, квот и официального pricing у выбранного сервиса

Результат: после выполнения этой инструкции вы выберете подходящий AI-маршрут и получите таблицу из изображения в структурированном виде: блоки TABLE/CELL, объект page.tables или экспорт в HTML/CSV/Markdown/Excel — в зависимости от инструмента.

Если нужен быстрый выбор: AWS Textract подходит, когда вам нужен ответ с явными блоками TABLE/CELL; Azure AI Document Intelligence использует текущий GA-маршрут prebuilt-layout v4.0.0; Google Form Parser подходит для простых conventional tables; для локального запуска смотрите PaddleOCR PP-StructureV3 и Microsoft Table Transformer, но у Table Transformer OCR и извлечение текста подаются отдельно.

  • Время: зависит от выбранного сервиса; точное время в источниках не указано.
  • Сложность: средний.
  • Стоимость: зависит от сервиса и региона; у облачных маршрутов биллинг usage-based или постраничный, точные ставки проверяйте на официальных pricing-страницах.
  • Что потребуется: изображение или скан документа с таблицей; аккаунт AWS, Google Cloud или Azure либо локальное окружение для open-source пайплайна; понимание, нужен ли вам cloud API или self-hosted запуск.
  • Актуальные версии и состояние на 2026-08-15: Azure AI Document Intelligence prebuilt-layout v4.0.0; Google Layout Parser — GA/public; PaddleOCR 3.x PP-StructureV3 — текущий рекомендованный open-source пайплайн; AWS Textract — маршрут через AnalyzeDocument; Microsoft Table Transformer — официальный open-source inference pipeline.

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

Маршрут Когда выбирать Что проверять на выходе Ключевое ограничение
AWS Textract AnalyzeDocument Нужны явные TABLE/CELL блоки из JPEG, PNG, PDF или TIFF Наличие блоков TABLE и CELL Постраничный биллинг; сложную финальную таблицу иногда нужно собирать из ответа API
Google Document AI Form Parser Таблицы внутри форм, если они обычные и хорошо структурированы page.tables и bounding polygons Распознаёт только conventional tables, без rowSpan/colSpan > 1
Google Document AI Layout Parser Нужен processor, который извлекает text, tables and lists Таблицы в структурированном ответе processor Нужно учитывать поддерживаемые типы входа и региональный endpoint
Azure AI Document Intelligence prebuilt-layout Нужен текущий GA-маршрут для текста, таблиц и структуры документа Таблицы и структура документа в результате анализа Multi-page tables рекомендуется разбивать по страницам до отправки
Microsoft Table Transformer Нужен self-hosted пайплайн с выходом в raw boxes, HTML или CSV Корректность raw boxes, HTML или CSV OCR и текстовое извлечение нужно подавать отдельно
PaddleOCR PP-StructureV3 Нужно open-source восстановление структуры с экспортом в Markdown, HTML или Excel Корректность Markdown, HTML или Excel Качество зависит от языка, скана и версии пайплайна

Пошагово: как извлечь таблицы из изображений с AI

  1. Зафиксируйте тип таблицы и ожидаемый выходной формат.

    Определите, что для вас критично: обычная таблица без сложных объединений ячеек, merged cells, готовый HTML/CSV/Markdown/Excel, или структурированный JSON-ответ с координатами. Это решение сразу отсеивает неподходящие маршруты: Google Form Parser документирован для conventional tables, а AWS Textract прямо описывает TABLE/CELL, merged cells, headers, titles, footers и structured или semi-structured tables.

    Ожидаемый результат: вы понимаете, можно ли использовать простой parser для forms, или нужен более гибкий маршрут.

  2. Выберите один рабочий маршрут, а не сравнивайте все сразу.

    Если вам нужен cloud API с явной табличной структурой, начните с AWS Textract и вызова AnalyzeDocument с параметром FeatureTypes = ["TABLES"]. Если вы работаете в Google Cloud и таблица простая, проверьте Form Parser; если нужен processor для text, tables and lists, смотрите Layout Parser. Если вы уже в Azure, текущий GA-путь — beginAnalyzeDocument("prebuilt-layout", ...) для модели v4.0.0. Если облако не подходит, выбирайте self-hosted: Table Transformer или PaddleOCR PP-StructureV3.

    Практический вердикт: не начинайте с Google Form Parser, если в таблице много merged cells или нестандартная вёрстка; в исходниках для него прямо зафиксировано ограничение conventional tables.

    Ожидаемый результат: у вас выбран один инструмент под конкретную задачу.

  3. Подготовьте вход и условия запуска под выбранный сервис.

    Для AWS Textract официальный API AnalyzeDocument принимает JPEG, PNG, PDF и TIFF. Для Google Document AI заранее проверьте региональный endpoint: в setup-документации указан, в частности, eu-documentai.googleapis.com, если настроено хранение данных в EU. Для Azure документация рекомендует разбивать multi-page tables на отдельные страницы до отправки. Для Table Transformer учтите ещё до запуска, что OCR и извлечение текста являются отдельным входом. Для open-source решений качество результата зависит от OCR и качества изображения.

    Ожидаемый результат: вы не отправляете неподходящий вход и не теряете время на заведомо неверную конфигурацию.

  4. Запустите официальный анализ выбранным методом.

    Для AWS выполните анализ документа через AnalyzeDocument и включите только таблицы:

    FeatureTypes = ["TABLES"]

    Для Google Form Parser официальный путь начинается с создания processor и обработки документа. Для Google Layout Parser используйте quickstart для извлечения text, tables and lists. Для Azure применяйте prebuilt-layout через метод beginAnalyzeDocument. Для Table Transformer используйте официальный inference pipeline: можно запускать детекцию таблиц, распознавание структуры или оба шага вместе. Для PaddleOCR PP-StructureV3 используйте workflow восстановления структуры таблицы с официальным экспортом.

    Ожидаемый результат: вы получили структурированный ответ API или экспортируемый артефакт.

  5. Проверьте, что AI вернул именно таблицу, а не только текст.

    В AWS ищите блоки TABLE и CELL; при сложной разметке дополнительно проверяйте merged cells, headers, titles и footers. В Google проверяйте поля page.tables и bounding polygons; для Form Parser помните, что он документирован только для conventional tables. В Azure смотрите наличие таблиц и структуры документа в результате анализа. В Table Transformer проверьте, что пайплайн действительно вернул raw boxes, HTML или CSV. В PaddleOCR PP-StructureV3 откройте Markdown, HTML или Excel и убедитесь, что строки и столбцы не распались.

    Ожидаемый результат: вы видите не абстрактный OCR-текст, а структуру, которую можно дальше использовать в системе.

  6. Сохраните результат в формате, удобном для дальнейшей обработки.

    Для облачных API практичнее сохранять не только извлечённые значения, но и структурированный ответ с координатами: это упрощает ручную проверку и последующую нормализацию. Для Table Transformer используйте HTML или CSV, если таблица должна сразу попадать в табличный пайплайн. Для PaddleOCR PP-StructureV3 используйте Markdown, HTML или Excel — в зависимости от того, куда вы передаёте результат дальше.

    Если следующий шаг — автоматизация, посмотрите инструкцию как автоматизировать работу с таблицами через AI.

    Ожидаемый результат: у вас есть файл или структурированный ответ, который можно проверить, загрузить в BI, CRM, knowledge base или дальнейший AI-процесс.

Как проверить, что всё работает

  • AWS Textract: в ответе присутствуют блоки TABLE и CELL. Для сложных таблиц дополнительно видны признаки merged cells, headers, titles или footers.
  • Google Document AI Form Parser: у страницы есть page.tables, а bounding polygons соответствуют реальным границам таблицы на изображении.
  • Google Layout Parser: processor вернул таблицы вместе с текстом и списками, а тип входа и региональный endpoint соответствуют вашему deployment.
  • Azure prebuilt-layout: результат содержит таблицы и документную структуру; если исходная таблица была многостраничной, вы предварительно разбили её по страницам.
  • Microsoft Table Transformer: HTML или CSV открываются как таблица, а не как набор разрозненных строк; если результат слабый, сначала проверьте OCR-вход.
  • PaddleOCR PP-StructureV3: экспорт в Markdown, HTML или Excel сохраняет порядок строк и столбцов и не теряет крупные блоки таблицы.

Частые ошибки и исправления

  • Ошибка: выбрали Google Form Parser для таблицы с большим числом merged cells или нестандартной вёрсткой.
    Решение: не используйте Form Parser как первый выбор в таком случае. В исходниках для него указано ограничение conventional tables; проверьте AWS Textract, Azure prebuilt-layout или open-source пайплайн на ваших образцах.
  • Ошибка: отправили multi-page table в Azure одним документом и получили неудобный результат.
    Решение: следуйте рекомендации документации Azure и разбивайте многостраничные таблицы на страницы до отправки.
  • Ошибка: в Google Document AI забыли про региональный endpoint и требования к размещению данных.
    Решение: сверяйте регион в официальной setup и regions-документации; при настроенном EU data storage используйте eu-documentai.googleapis.com.
  • Ошибка: ожидали, что Microsoft Table Transformer сам решит задачу OCR.
    Решение: подайте OCR и извлечённый текст как отдельный вход: в репозитории прямо указано, что OCR/text extraction — отдельная часть пайплайна.
  • Ошибка: сравниваете cloud API и open-source на разных OCR и разных правилах проверки.
    Решение: сравнивайте на одинаковом наборе изображений и, по возможности, одинаковом OCR-входе; иначе вывод о качестве будет нерелевантен.

Безопасность и ограничения

  • Регион и размещение данных: для Google важны региональные endpoints; официальная setup-документация отдельно упоминает EU endpoint. Для cloud-сервисов региональная доступность и квоты меняются, поэтому перед внедрением сверяйте официальный раздел regions или availability для вашей страны и аккаунта.
  • Стоимость: AWS Textract тарифицируется постранично, при этом изображение считается одной страницей; у Google Document AI биллинг usage-based и per page; Azure указывает pay-as-you-go, free tier и commitment-based варианты, но цены зависят от региона, валюты и соглашения.
  • Структурные ограничения: Google Form Parser документирован только для conventional tables. Если вам критичны объединённые ячейки и сложная вёрстка, проверяйте другой маршрут на вашем датасете.
  • Ограничения open-source: у Microsoft Table Transformer OCR подаётся отдельно; у PaddleOCR итоговое качество зависит от языка, качества скана и версии пайплайна.
  • Редакционный вывод: если вам нужен минимальный риск на первом прогоне, начинайте с одного сервиса и проверяйте его на 10–20 реальных изображениях вашей предметной области, а не на демонстрационных примерах.

Что делать дальше

Источники

Вопросы и ответы

Что выбрать, если в таблице есть merged cells?

Не начинайте с Google Form Parser: в официальной документации для него указано ограничение conventional tables без rowSpan/colSpan > 1. В AWS Textract документация прямо описывает merged cells. Для остальных маршрутов проверяйте покрытие на своих образцах.

Можно ли извлекать таблицы локально, без облака?

Да. Для self-hosted запуска в исходниках есть два официальных open-source маршрута: Microsoft Table Transformer и PaddleOCR PP-StructureV3. У Table Transformer OCR и извлечение текста нужно подавать отдельно.

Как понять, что сервис распознал именно таблицу, а не просто текст?

Смотрите на структурированный ответ или экспорт. Для AWS это блоки TABLE/CELL; для Google — page.tables и bounding polygons; для Azure — таблицы и структура документа; для open-source — HTML, CSV, Markdown или Excel, которые открываются как таблица.

Нужно ли учитывать регион и endpoint?

Да. Для Google это критично: setup и regions-документация описывают региональные endpoints, включая EU endpoint при соответствующей настройке хранения данных. Для Azure и AWS также проверяйте региональную доступность и pricing именно для вашего аккаунта и региона.

Сколько это стоит?

Точные суммы в этой инструкции не фиксируются, потому что они зависят от региона, валюты, соглашения и типа анализа. Из официальных источников важно следующее: AWS считает изображение одной страницей и тарифицирует постранично, Google использует usage-based/per-page модель, Azure указывает pay-as-you-go и другие варианты. Перед внедрением сверяйте актуальный pricing на официальной странице выбранного сервиса.

Шаги

HOW-TO
  1. Зафиксируйте тип таблицы и нужный выходной формат

    | Определите, нужна ли поддержка merged cells, достаточно ли conventional tables и в каком формате вы хотите получить результат: TABLE/CELL, HTML, CSV, Markdown или Excel.

  2. Выберите один маршрут под задачу

    | Начните с AWS Textract для TABLE/CELL, с Azure prebuilt-layout v4.0.0 для текущего GA-маршрута, с Google Form Parser для простых таблиц в формах, с Google Layout Parser для text, tables and lists, либо с Table Transformer или PaddleOCR для self-hosted запуска.

  3. Подготовьте вход и условия запуска

    | Для AWS используйте поддерживаемые JPEG, PNG, PDF или TIFF; в Google проверьте региональный endpoint; в Azure разбивайте multi-page tables по страницам; для Table Transformer заранее добавьте OCR как отдельный вход.

  4. Запустите анализ официальным методом

    | В AWS вызовите AnalyzeDocument с FeatureTypes=["TABLES"]; в Google используйте соответствующий processor; в Azure применяйте beginAnalyzeDocument("prebuilt-layout", ...); в open-source запустите inference или table recovery workflow.

  5. Проверьте структуру ответа

    | Ищите TABLE/CELL в AWS, page.tables и bounding polygons в Google, таблицы и структуру документа в Azure, либо корректные HTML/CSV/Markdown/Excel артефакты в open-source пайплайнах.

  6. Сохраните результат для следующего шага

    | Для cloud API сохраняйте структурированный ответ вместе с координатами, а для Table Transformer и PaddleOCR — готовые HTML, CSV, Markdown или Excel для дальнейшей автоматизации.

Источники

SOURCES

Вопросы и ответы

FAQ
Что выбрать, если в таблице есть merged cells?

Не начинайте с Google Form Parser: в официальной документации для него указано ограничение conventional tables без rowSpan/colSpan > 1. В AWS Textract документация прямо описывает merged cells. Для остальных маршрутов проверяйте покрытие на своих образцах.

Можно ли извлекать таблицы локально, без облака?

Да. Для self-hosted запуска в исходниках есть два официальных open-source маршрута: Microsoft Table Transformer и PaddleOCR PP-StructureV3. У Table Transformer OCR и извлечение текста нужно подавать отдельно.

Как понять, что сервис распознал именно таблицу, а не просто текст?

Смотрите на структурированный ответ или экспорт. Для AWS это блоки TABLE/CELL; для Google — page.tables и bounding polygons; для Azure — таблицы и структура документа; для open-source — HTML, CSV, Markdown или Excel, которые открываются как таблица.

Нужно ли учитывать регион и endpoint?

Да. Для Google это критично: setup и regions-документация описывают региональные endpoints, включая EU endpoint при соответствующей настройке хранения данных. Для Azure и AWS также проверяйте региональную доступность и pricing именно для вашего аккаунта и региона.

Сколько это стоит?

Точные суммы в этой инструкции не фиксируются, потому что они зависят от региона, валюты, соглашения и типа анализа. Из официальных источников важно следующее: AWS считает изображение одной страницей и тарифицирует постранично, Google использует usage-based/per-page модель, Azure указывает pay-as-you-go и другие варианты. Перед внедрением сверяйте актуальный pricing на официальной странице выбранного сервиса.

Читайте также

LINKS