AI‑агент не повинен читати таблицю. Він має викликати інструмент, який повертає таблицю, а потім виконувати арифметичні операції над рядками. За допомогою GroupDocs.Parser.Mcp, запущеного локально в Docker, AI‑клієнт, такий як Claude Desktop або Cursor, може витягати таблиці з PDF, Word і Excel‑файлів і отримувати їх у форматі JSON:
Витягнути позиції рахунку з invoice.pdf у форматі JSON і підрахувати суму стовпця amount.
Покрокова інструкція з налаштуванням і усуненням проблем наведена в документації: How to extract tables from documents into structured data.
Що йде не так, коли модель читає таблицю сама?
Звичний робочий процес – вставити PDF у чат і попросити надати таблицю. Модель бачить сплощений потік тексту, вгадує, де були стовпці, і виводить рядки назад. Кожна клітинка тоді стає передбаченням. Пропущений стовпець, об’єднаний рядок або зміщена десяткова крапка не викликають помилку; вони створюють впевнену, добре відформатовану таблицю, яка трохи неправильна. Для списку фруктів це не має значення. Для підсумків рахунків – має велике значення.
Помилку важко виявити, бо вихід виглядає правильно. У відповіді чату ніщо не підказує, які клітинки були прочитані з файлу, а які відтворені.
Яка альтернатива, щоб модель не вгадувала?
Винесіть читання з моделі. Інструмент extract_tables виявляє таблиці за допомогою движка документа і повертає їх як дані:
- Markdown за замовчуванням, у вигляді розділів
### Table N (page N, R×C), які відображаються безпосередньо в чаті, VS Code і GitHub. - JSON з параметром
format: "json", у вигляді масиву об’єктів{ table, page, rows, columns, data }, деdata– це сітка рядків у вигляді рядків.
Модель ніколи не транскрибує клітинку. Вона отримує data і працює з ними, тому її завдання зводиться до того, що вона робить надійно: підсумовування, порівняння, фільтрація та пояснення. Інструмент підтримує PDF, DOCX, XLSX, PPTX і HTML, тому один і той же запит підходить і для рахунку постачальника, і для звіту Word, і для електронної таблиці.
Як отримати таблицю у вигляді JSON?
Вкажіть формат у запиті.
Витягнути позиції рахунку у форматі JSON і підрахувати суму стовпця amount.
Example session (abridged)
You: Extract the line items from invoice-014.pdf as JSON and total the amount column.
Agent: [calls extract_tables with format "json"]
{"table": 1, "page": 1, "rows": 4, "columns": 3,
"data": [["Item", "Qty", "Amount"],
["Paper A4", "10", "48.00"],
["Toner", "2", "170.00"],
["Delivery", "1", "22.00"]]}
Total of the Amount column: 240.00 across 3 line items.
Оскільки агент тримає рядки, наступні кроки – це звичайні питання: який рядок найбільший, чи відповідає підсумок цифрі, надрукованій у тексті, записати рядки у CSV у вихідну папку. Коли важлива арифметика, попросіть агента перелічити рядки, які він підсумував, щоб ви могли їх перевірити.
Коли варто просити Markdown замість JSON?
Використовуйте Markdown, коли результат читає людина, і JSON – коли його обробляє код. Markdown є типово і найшвидший спосіб переглянути таблицю і оцінити, чи вона була знайдена правильно. Перейдіть на JSON для підсумків, крос‑перевірок і будь‑якого експорту в електронну таблицю або базу даних. Якщо ви знаєте, де розташована таблиця, звузьте виклик:
Витягнути таблицю на сторінці 4.
Параметр page обмежує виявлення однією сторінкою, що швидше і, за умовами ліцензування за метром, дешевше.
Які випадки все ще потребують людської перевірки?
Чесні обмеження важливі більше для таблиць, ніж для простого тексту.
- Скановані документи не містять таблиць. Якщо немає текстового шару, структури таблиці немає, і витяг повертає порожньо. У цьому сервері немає OCR.
- Складні макети різняться. Об’єднані клітинки, вкладені таблиці та таблиці, що продовжуються на кількох сторінках, не завжди зберігаються чистою сіткою. Перевірте один документ перед запуском двохсот.
- Режим оцінки обмежений. Без ліцензії витяг обмежений; точні обмеження наведені на licensing page. Попросіть агента викликати
get_license_statusперед реальним запуском.
Встановити за одну команду
Сервер розповсюджується лише як Docker‑образ, тому команди dnx немає. Зареєструйте його в Claude Code так, замінивши шлях на вашу папку з документами:
claude mcp add groupdocs-parser -- docker run --rm -i \
-v /path/to/documents:/data ghcr.io/groupdocs-parser/parser-net-mcp:latest
Cursor, Claude Desktop, VS Code з GitHub Copilot, Windsurf, Cline і Codex використовують той самий контейнер з клієнт‑специфічним файлом конфігурації; кожен з них перелічений у розділі Register in AI clients.
FAQ
Чи правильно Claude читає таблиці PDF?
Все залежить від файлу і того, як клієнт його сплющує, тому перевіряйте, а не припускайте. За допомогою extract_tables рядки надходять від виявлення таблиць движком документа, повертаються у вигляді сітки рядків, і Claude працює саме з ними.
Як витягнути таблицю з PDF в Excel за допомогою AI?
Попросіть таблицю у форматі JSON, а потім попросіть агента записати рядки у CSV у вихідну папку, яку відкриє Excel. Перетворення рядків у CSV – це крок агента; значення клітинок надходять від інструмента.
Чи може він витягати таблиці з Word і Excel локально?
Так. extract_tables працює з DOCX і XLSX, так само як і з PDF, а контейнер читає файли з підключеної папки.
Поглибити
- Документація, канонічний посібник: How to extract tables from documents into structured data
- Центр документації: GroupDocs.Parser MCP Server
- Опис інструмента:
extract_tablestool reference - Почати: 3 ways to extract document data with AI agents and MCP (text, tables, images)
- Пов’язане: Enforce consistent data capture with automated extraction workflows using MCP
- Пов’язане: Scan-to-record automation with AI agents
- On‑premise і модель безпеки: 3 architectures for AI document processing, and the one that keeps files inside your network
- Питання: GroupDocs Parser forum
- Джерело: GroupDocs.Parser.Mcp on GitHub