An AI‑agent mag geen tabel lezen. Hij moet een tool aanroepen die de tabel retourneert, en vervolgens rekenwerk op de rijen uitvoeren. Met GroupDocs.Parser.Mcp die lokaal in Docker draait, kan een AI‑client zoals Claude Desktop of Cursor tabellen uit PDF‑, Word‑ en Excel‑bestanden extraheren en deze ontvangen als JSON:
Haal de regelitems uit invoice.pdf op als JSON en som de bedragkolom op.
De stapsgewijze versie met configuratie en probleemoplossing staat in de documentatie: Hoe tabellen uit documenten extraheren naar gestructureerde gegevens.
Wat gaat er mis wanneer een model de tabel zelf leest?
De gebruikelijke workflow is om een PDF in een chat te plakken en om de tabel te vragen. Het model ziet een afgevlakte stroom tekst, leidt af waar de kolommen waren, en schrijft de rijen terug. Elke cel is dan een voorspelling. Een weggelaten kolom, een samengevoegde rij of een verschoven decimaal veroorzaakt geen fout; het levert een zelfverzekerde, goed opgemaakte tabel op die net iets verkeerd is. Voor een lijst met fruit maakt dat niet uit. Voor factuurtotalen maakt dat enorm veel uit.
De fout is moeilijk te ontdekken omdat de output er goed uitziet. Niets in een chat‑antwoord vertelt je welke cellen uit het bestand zijn gelezen en welke zijn gereconstrueerd.
Wat is het alternatief voor het laten raden van het model?
Verplaats het lezen uit het model. De extract_tables‑tool detecteert tabellen met de document‑engine en retourneert ze als data:
- Markdown standaard, als
### Table N (page N, R×C)secties die direct in chat, VS Code en GitHub worden weergegeven. - JSON met
format: "json", als een array van{ table, page, rows, columns, data }‑objecten, waarbijdataeen raster van strings is.
Het model transcribeert nooit een cel. Het ontvangt data en werkt ermee, zodat zijn taak wordt beperkt tot wat het betrouwbaar kan: optellen, vergelijken, filteren en uitleggen. De tool ondersteunt PDF, DOCX, XLSX, PPTX en HTML, zodat dezelfde prompt een leveranciersfactuur, een Word‑rapport en een spreadsheet dekt.
Hoe krijg je de tabel als JSON?
Geef het formaat op in de prompt.
Haal de regelitems op als JSON en som de bedragkolom op.
Voorbeeldsessie (verkort)
Jij: Haal de regelitems uit invoice-014.pdf op als JSON en som de bedragkolom op.
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"]]}
Totaal van de Amount‑kolom: 240.00 over 3 regelitems.
Omdat de agent rijen vasthoudt, zijn de volgende stappen gewone vragen: welke regel is de grootste, komt het totaal overeen met het cijfer dat in de tekst staat, schrijf de rijen naar een CSV in de output‑map. Wanneer de rekenkunde belangrijk is, vraag de agent de rijen te vermelden die hij heeft opgeteld zodat je ze kunt controleren.
Wanneer moet je om Markdown vragen in plaats van JSON?
Gebruik Markdown wanneer een persoon het resultaat direct leest, en JSON wanneer code dat doet. Markdown is de standaard en de snelste manier om een tabel te bekijken en te beoordelen of deze correct is gevonden. Schakel over naar JSON voor totalen, kruiskontroles en alles wat een spreadsheet of database voedt. Als je weet waar de tabel staat, beperk de oproep:
Haal de tabel op pagina 4.
De page‑parameter beperkt de detectie tot één pagina, wat sneller is en, bij meter‑gebaseerde licenties, goedkoper.
Welke gevallen nog een menselijke controle nodig hebben?
Eerlijke limieten wegen zwaarder bij tabellen dan bij platte tekst.
- Scans hebben geen tabellen om te vinden. Zonder een tekstlaag is er geen tabelstructuur, en komt de extractie leeg terug. Er is geen OCR in deze server.
- Complexe lay‑outs variëren. Samengevoegde cellen, geneste tabellen en tabellen die over pagina’s heen doorgaan, overleven niet altijd even netjes als een simpel raster. Controleer één document voordat je tweehonderd uitvoert.
- Evaluatiemodus is beperkt. Zonder licentie is extractie beperkt; de exacte limieten staan op de bibliotheek’s licentiepagina. Vraag de agent om
get_license_statusaan te roepen vóór een echte run.
Installeer het met één opdracht
De server wordt alleen als Docker‑image gedistribueerd, dus er is geen dnx‑opdracht. Registreer het in Claude Code als volgt, vervang het pad door je documentenmap:
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 met GitHub Copilot, Windsurf, Cline en Codex gebruiken dezelfde container met een client‑specifiek configuratie‑bestand; elk staat vermeld in Registreren in AI‑clients.
FAQ
Leest Claude PDF‑tabellen nauwkeurig?
Dat hangt af van het bestand en van hoe de client het plat maakt, dus controleer het in plaats van aan te nemen. Met extract_tables komen de rijen van de tabeldetectie van de document‑engine, geretourneerd als een raster van strings, en Claude werkt daarmee.
Hoe extraheer ik een tabel uit een PDF naar Excel met AI?
Vraag om de tabel als JSON, laat de agent vervolgens de rijen naar een CSV in de output‑map schrijven, die Excel opent. De conversie van rijen naar CSV is de stap van de agent; de celwaarden komen van de tool.
Kan het tabellen uit Word‑ en Excel‑bestanden lokaal extraheren?
Ja. extract_tables verwerkt DOCX en XLSX evenals PDF, en de container leest bestanden uit de map die je mount.
Ga dieper
- Documentatie, canonieke handleiding: Hoe tabellen uit documenten extraheren naar gestructureerde gegevens
- Documentatiehub: GroupDocs.Parser MCP Server
- Toolreferentie:
extract_tablestool reference - Begin hier: 3 ways to extract document data with AI agents and MCP (text, tables, images)
- Gerelateerd: Enforce consistent data capture with automated extraction workflows using MCP
- Gerelateerd: Scan-to-record automation with AI agents
- On‑premise en beveiligingsmodel: 3 architectures for AI document processing, and the one that keeps files inside your network
- Vragen: GroupDocs Parser forum
- Bron: GroupDocs.Parser.Mcp on GitHub