← ClaudeAtlas

pdf-parsinglisted

Parses any PDF into structured usable data — classifies the document first (text layer, scanned, fillable form, encrypted), extracts text, tables and form fields with whatever toolchain is actually installed, OCRs scans that have no text layer, and writes a real multi-sheet Excel workbook, CSV, JSON or document without needing pandas or openpyxl. Handles one file or a whole folder into a single spreadsheet with a source-file column plus a list of what failed and why. Use whenever the user wants to parse, read or extract a PDF, pull tables, invoices, bank statements, bills, payslips, receipts, forms or report figures out of one, convert a PDF to Excel, xlsx, CSV, Word or JSON, asks why a PDF returns empty text or scrambled columns, mentions a scanned PDF or OCR, or has a folder of PDFs to turn into a spreadsheet.
prashant-cr/skills · ★ 1 · Data & Documents · score 75
Install: claude install-skill prashant-cr/skills
# PDF parsing Turns a PDF into data you can actually compute on — text, tables, form fields — and writes it out as a spreadsheet or a document, choosing the target from what the PDF really contains. ## The one idea that organises everything below **A PDF is not a data format. It is a page-description format**: instructions for painting glyphs at coordinates. There is no "table" inside a PDF, and often no "text" either — there are marks positioned on a canvas, which a human eye groups into rows and columns. Everything downstream follows from that. It means extraction quality is decided almost entirely by **correctly identifying what kind of PDF you have before you touch it**, because the four main kinds need four different tools and using the wrong one does not raise an error — it returns nothing, or something subtly scrambled, which is worse. The failure this skill exists to prevent: point a text extractor at a scanned document and it returns an empty string. Not an exception. The natural next thought is "the file is corrupt" or "this library is broken", and ten minutes disappear into debugging the wrong thing. The file was fine. It contained no text at all. ## Workflow ### 1. Triage first, always ```bash python3 scripts/pdf_triage.py file.pdf python3 scripts/pdf_triage.py folder/ --batch ``` Standard library only — nothing to install. It reads the PDF's own object structure, inflates the content streams, and reports what the document actually is plus the route that