$npx -y skills add henkisdabro/wookstar-claude-plugins --skill pdf-processing-proProduction-ready PDF processing with forms, tables, OCR, validation, and batch operations. Use when working with complex PDF workflows in production environments, processing large volumes of PDFs, or requiring robust error handling and validation. Do NOT use for simple text extra
| 1 | # PDF Processing Pro |
| 2 | |
| 3 | Production-ready PDF processing toolkit with pre-built scripts, comprehensive error handling, and support for complex workflows. |
| 4 | |
| 5 | ## Quick start |
| 6 | |
| 7 | ### Extract text from PDF |
| 8 | |
| 9 | ```python |
| 10 | import pdfplumber |
| 11 | |
| 12 | with pdfplumber.open("document.pdf") as pdf: |
| 13 | text = pdf.pages[0].extract_text() |
| 14 | print(text) |
| 15 | ``` |
| 16 | |
| 17 | ### Analyse PDF form (using included script) |
| 18 | |
| 19 | ```bash |
| 20 | python scripts/analyze_form.py input.pdf --output fields.json |
| 21 | # Returns: JSON with all form fields, types, and positions |
| 22 | ``` |
| 23 | |
| 24 | ### Fill PDF form with validation |
| 25 | |
| 26 | ```bash |
| 27 | python scripts/fill_form.py input.pdf data.json output.pdf |
| 28 | # Validates all fields before filling, includes error reporting |
| 29 | ``` |
| 30 | |
| 31 | ### Extract tables from PDF |
| 32 | |
| 33 | ```bash |
| 34 | python scripts/extract_tables.py report.pdf --output tables.csv |
| 35 | # Extracts all tables with automatic column detection |
| 36 | ``` |
| 37 | |
| 38 | ## Features |
| 39 | |
| 40 | ### Production-ready scripts |
| 41 | |
| 42 | - Error handling with detailed messages and proper exit codes |
| 43 | - Input validation, type checking, and configurable logging |
| 44 | - Full type annotations and CLI interface (`--help` on all scripts) |
| 45 | |
| 46 | ### Comprehensive workflows |
| 47 | |
| 48 | - PDF forms, table extraction, OCR processing |
| 49 | - Batch operations, pre/post-processing validation |
| 50 | |
| 51 | ## Advanced topics |
| 52 | |
| 53 | ### PDF form processing |
| 54 | |
| 55 | Complete form workflows including field analysis, dynamic filling, validation rules, multi-page forms, and checkbox/radio handling. See [references/forms.md](references/forms.md). |
| 56 | |
| 57 | ### Table extraction |
| 58 | |
| 59 | Complex table extraction including multi-page tables, merged cells, nested tables, custom detection, and CSV/Excel export. See [references/tables.md](references/tables.md). |
| 60 | |
| 61 | ### OCR processing |
| 62 | |
| 63 | Scanned PDFs and image-based documents including Tesseract integration, language support, image preprocessing, and confidence scoring. See [references/ocr.md](references/ocr.md). |
| 64 | |
| 65 | ## Included scripts |
| 66 | |
| 67 | | Script | Purpose | Usage | |
| 68 | |--------|---------|-------| |
| 69 | | analyze_form.py | Extract form field info | `python scripts/analyze_form.py input.pdf [--output fields.json] [--verbose]` | |
| 70 | | fill_form.py | Fill PDF forms with data | `python scripts/fill_form.py input.pdf data.json output.pdf [--validate]` | |
| 71 | | validate_form.py | Validate form data before filling | `python scripts/validate_form.py data.json schema.json` | |
| 72 | | extract_tables.py | Extract tables to CSV/Excel | `python scripts/extract_tables.py input.pdf [--output tables.csv] [--format csv\|excel]` | |
| 73 | | extract_text.py | Extract text with formatting | `python scripts/extract_text.py input.pdf [--output text.txt] [--preserve-formatting]` | |
| 74 | | merge_pdfs.py | Merge multiple PDFs | `python scripts/merge_pdfs.py file1.pdf file2.pdf --output merged.pdf` | |
| 75 | | split_pdf.py | Split PDF into pages | `python scripts/split_pdf.py input.pdf --output-dir pages/` | |
| 76 | | validate_pdf.py | Validate PDF integrity | `python scripts/validate_pdf.py input.pdf` | |
| 77 | | flatten_form.py | Make filled form fields read-only | `python scripts/flatten_form.py filled.pdf final.pdf` | |
| 78 | |
| 79 | ## Dependencies |
| 80 | |
| 81 | All scripts require: |
| 82 | |
| 83 | ```bash |
| 84 | pip install pdfplumber pypdf pillow pytesseract pandas |
| 85 | ``` |
| 86 | |
| 87 | Excel output from `extract_tables.py` additionally requires openpyxl: |
| 88 | |
| 89 | ```bash |
| 90 | pip install openpyxl |
| 91 | ``` |
| 92 | |
| 93 | Optional for OCR: |
| 94 | |
| 95 | ```bash |
| 96 | # macOS: brew install tesseract |
| 97 | # Ubuntu: apt-get install tesseract-ocr |
| 98 | # Windows: Download from GitHub releases |
| 99 | ``` |
| 100 | |
| 101 | ## References |
| 102 | |
| 103 | | File | Contents | |
| 104 | |------|----------| |
| 105 | | [references/forms.md](references/forms.md) | Complete form processing guide | |
| 106 | | [references/tables.md](references/tables.md) | Advanced table extraction | |
| 107 | | [references/ocr.md](references/ocr.md) | Scanned PDF processing | |
| 108 | | [references/workflows.md](references/workflows.md) | Common workflows, error handling, performance tips, best practices | |
| 109 | | [references/troubleshooting.md](references/troubleshooting.md) | Troubleshooting common issues and getting help | |