pdf-processing

hemanth's avatarfrom hemanth

Extract text and tables from PDF files, fill forms, merge documents. Use when working with PDF files or when the user mentions PDFs, forms, or document extraction.

⭐5stars🔀1forks📁View on GitHub🕐Updated Dec 20, 2025

When & Why to Use This Skill

This Claude skill provides comprehensive PDF management capabilities, allowing users to extract text and tables, automate form filling, and merge multiple documents. It is designed to bridge the gap between static PDF files and dynamic data workflows, enhancing productivity in document-heavy environments by converting unstructured PDF data into actionable information.

Use Cases

  • Invoice and Receipt Extraction: Automatically pull key data points like dates, amounts, and vendor names from PDF invoices for accounting and expense tracking.
  • Data Scraping from Reports: Convert complex tables found in financial, academic, or technical PDF reports into structured data formats for analysis.
  • Automated Form Filling: Programmatically populate standardized PDF forms, reducing manual entry errors and streamlining administrative workflows.
  • Document Consolidation: Merge multiple PDF files into a single document or split large files into smaller, manageable sections for better organization.
namepdf-processing
descriptionExtract text and tables from PDF files, fill forms, merge documents. Use when working with PDF files or when the user mentions PDFs, forms, or document extraction.

PDF Processing Skill

Quick Start

Use pdfplumber to extract text from PDFs:

import pdfplumber

with pdfplumber.open("document.pdf") as pdf:
    text = pdf.pages[0].extract_text()
    print(text)

Capabilities

1. Text Extraction

Extract all text from a PDF document:

def extract_all_text(pdf_path):
    with pdfplumber.open(pdf_path) as pdf:
        full_text = ""
        for page in pdf.pages:
            full_text += page.extract_text() or ""
        return full_text

2. Table Extraction

Extract tables from PDF pages. For detailed table extraction, see [[TABLES.md]].

Basic example:

with pdfplumber.open("document.pdf") as pdf:
    tables = pdf.pages[0].extract_tables()
    for table in tables:
        print(table)

3. Form Filling

Fill PDF forms programmatically. For comprehensive form-filling guide, see [[FORMS.md]].

Best Practices

  • Performance: For large PDFs, process page-by-page to avoid memory issues
  • OCR: For scanned PDFs without text layer, recommend using OCR tools first
  • Encoding: Handle UTF-8 encoding properly when extracting text

Common Use Cases

  • Invoice text extraction
  • Table data scraping from reports
  • PDF form automation
  • Document merging and splitting