เอเจนต์ AI ไม่ควรอ่านตารางโดยตรง ควรเรียกเครื่องมือที่คืนค่าตารางแล้วทำการคำนวณบนแถวต่าง ๆ ด้วย GroupDocs.Parser.Mcp ที่ทำงานใน Docker บนเครื่องของคุณ ลูกค้า AI เช่น Claude Desktop หรือ Cursor สามารถสกัดตารางจากไฟล์ PDF, Word และ Excel แล้วรับผลเป็น JSON ได้:

สกัดรายการบรรทัดจาก invoice.pdf เป็น JSON และรวมคอลัมน์จำนวนเงิน

เวอร์ชันแบบขั้นตอนพร้อมการกำหนดค่าและการแก้ไขปัญหาอยู่ในเอกสาร: วิธีการสกัดตารางจากเอกสารเป็นข้อมูลโครงสร้าง.

สิ่งที่ผิดพลาดเมื่อโมเดลอ่านตารางด้วยตนเอง?

กระบวนการทั่วไปคือคัดลอก 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 และรวมคอลัมน์จำนวนเงิน

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 ในเซิร์ฟเวอร์นี้
  • เลย์เอาต์ซับซ้อนหลากหลาย เซลล์ที่รวมกัน, ตารางซ้อนกันและตารางที่ต่อเนื่องหลายหน้าอาจไม่คงรูปเป็นกริดที่สะอาดตา ตรวจสอบตัวอย่างเอกสารหนึ่งก่อนรันหลายร้อยไฟล์
  • โหมดประเมินผลมีข้อจำกัด หากไม่มีไลเซนส์ การสกัดจะถูกจำกัด; รายละเอียดข้อจำกัดอยู่ใน หน้าลิขสิทธิ์ของไลบรารี ให้เอเจนต์เรียก get_license_status ก่อนทำการจริง

ติดตั้งด้วยคำสั่งเดียว

เซิร์ฟเวอร์จัดจำหน่ายเป็น Docker image เท่านั้น จึงไม่มีคำสั่ง 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 with GitHub Copilot, Windsurf, Cline และ Codex ใช้คอนเทนเนอร์เดียวกันพร้อมไฟล์กำหนดค่าที่เฉพาะเจาะจงสำหรับแต่ละไคลเอนต์; รายการทั้งหมดอยู่ใน ลงทะเบียนใน AI clients

FAQ

Claude สามารถอ่านตาราง PDF ได้อย่างแม่นยำหรือไม่?
ขึ้นอยู่กับไฟล์และวิธีที่ไคลเอนต์ทำให้เป็นข้อความแบนราบ จึงควรตรวจสอบเองแทนการสันนิษฐาน ด้วย extract_tables แถวมาจากการตรวจจับตารางของเอนจินเอกสารและคืนเป็นกริดของสตริง แล้ว Claude ทำงานจากข้อมูลเหล่านั้น

จะสกัดตารางจาก PDF ไปเป็น Excel ด้วย AI อย่างไร?
ขอให้ตารางเป็น JSON แล้วให้เอเจนต์เขียนแถวเป็น CSV ไปยังโฟลเดอร์ผลลัพธ์ ซึ่ง Excel สามารถเปิดได้ การแปลงจากแถวเป็น CSV เป็นขั้นตอนของเอเจนต์; ค่าเซลล์มาจากเครื่องมือ

สามารถสกัดตารางจากไฟล์ Word และ Excel ได้ในเครื่องหรือไม่?
ได้ extract_tables รองรับ DOCX และ XLSX รวมถึง PDF และคอนเทนเนอร์จะอ่านไฟล์จากโฟลเดอร์ที่คุณเมานท์

ไปให้ลึกขึ้น