{"route":"/skills/modbus/extract-pdf-map","title":"Extract PDF Map","tab":"skills/modbus/extract-pdf-map.md","description":"Find and extract register tables from a PDF manual, or limit the work to a page range you already know.","updatedAt":"2026-08-28","enabled":true,"url":"https://studioseventeen.io/skills/modbus/extract-pdf-map","markdown":"# Extract PDF Map\n\nREAD-ONLY\n\nFind and extract register tables from a PDF manual, or limit the work to a page range you already know.\n\n## What you get\n\nYou get `pdf-extraction.json`, which contains the register rows, the manual page and table position for each row, the pages it found and covered, and any rows it rejected or held for review. It does not copy page images or the full manual text.\n\n## How it runs\n\n**Finds register tables and proves what it covered.** If you give page numbers, it reads that range. Otherwise it searches the manual for likely register pages. The bundled Python compares text, page coordinates, and drawn table lines. If two results conflict or a discovered page was not covered, it keeps the useful rows but does not claim that extraction is complete.\n\n## Example request\n\n```text\n$extract-pdf-map\n\nThe register-map pages have not been identified in `drive-manual.pdf`. Please find the Modbus register tables, extract the rows, and keep the page reference for each one.\n```\n\n## Safety\n\nNo writes. No broadcasts. No discovery scans. No polls without a defined limit. Unknown values stay blank and remain visible for review.\n\n## Source\n\n- [Canonical SKILL.md](https://github.com/studioxvii/modbus-skills/blob/v0.2.2/plugins/modbus-skills/skills/extract-pdf-map/SKILL.md)\n- [Modbus Skills 0.2.2 release](https://github.com/studioxvii/modbus-skills/releases/tag/v0.2.2)\n- [All Modbus Skills](/skills/modbus.md)\n"}