Agent skill · data analytics · datadrivenconstruction
pdf-to-structured
Extract structured data from construction PDFs. Convert specifications, BOMs, schedules, and reports from PDF to Excel/CSV/JSON. Use OCR for scanned documents and pdfplumber for native PDFs.
Why this skill is useful
Adds executable scripts for extracting structured data from construction PDFs using OCR and pdfplumber, which are not commonly found in public documentation.
What it needs
Requires openpyxl, pandas, pdf2image, pdfplumber, pypdf, pytesseract, python3, tesseract installed locally. About 6k tokens when loaded. Last updated 2026-02-14. 265 stars on the source repository.
What this skill does
PDF to Structured Data Conversion Overview Based on DDC methodology (Chapter 2.4), this skill transforms unstructured PDF documents into structured formats suitable for analysis and integration. Construction projects generate vast amounts of PDF documentation - specifications, BOMs, schedules, and reports - that need to be extracted and processed. Book Reference: "Преобразование данных в структурированную форму" / "Data Transformation to Structured Form" "Преобразование данных из неструктурированной в структурированную форму — это и искусство, и наука. Этот процесс часто занимает значительную часть работы инженера по обработке данных." — DDC Book, Chapter 2.4 ETL Process Overview The conversion follows the ETL pattern: 1. Extract: Load the PDF document 2. Transform: Parse and structure the content 3. Load: Save to CSV, Excel, or JSON Quick Start Installation Native PDF Extraction (pdfplumber) Extract All Tables from PDF Extract Text with Layout Extract Specific Table by Position Scanned PDF Processing (OCR) Extract Text from Scanned PDF OCR Table Extraction Construction-Specific Extractions Bill of Materials (BOM) Extraction Project Schedule Extraction Specification Parsing Batch Processing Process Multiple PDFs Data Cleaning After Extraction Export Options Quick Reference Task Tool Code ------ ------ ------ Extract table pdfplumber page.extracttable() Extract text pdfplumber page.extracttext() OCR scanned pytesseract pytesseract.imagetostring(image) Merge PDFs pypdf writer.addpage(page) Convert to image pdf2image convertfrompath(pdf) Troubleshooting Issue Solution ------- ---------- Table not detected Try adjusting table settings: page.extracttable(tablesettings={}) Wrong column alignment Use visual debugging: page.toimage().drawrects() OCR quality poor Increase DPI, preprocess image, use correct language Memory issues Process pages one at a time, close PDF after processing Resources Book: "Data-Driven Construction" by Artem Boiko, Chapter 2.4 Website: https://data …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills datadrivenconstruction/pdf-to-structured