Traitement de PDF

VérifiéSûr

Extrait du texte de PDF, remplit des formulaires et fusionne des documents. À utiliser lors du travail avec des fichiers PDF ou l'extraction de documents.

Spar Skills Guide Bot
Data & IAIntermédiaire
3002/06/2026
Claude Code
#pdf-processing#document-extraction#form-filling#text-extraction

Recommandé pour

Notre avis

Extrait le texte de PDFs, remplit des formulaires et fusionne des documents, avec une approche structurée en étapes.

Points forts

  • Processus de validation intégré pour vérifier la sortie
  • Scripts Python simples et documentés
  • Prend en charge l'analyse de la structure du PDF, dont les champs de formulaire

Limites

  • Nécessite l'installation de dépendances Python (pypdf, pdfplumber)
  • Non adapté aux PDFs basés sur des images (pas d'OCR)
  • La gestion des erreurs est basique et doit être améliorée pour des cas complexes
Quand l'utiliser

Utilisez ce skill lorsque vous devez extraire de manière fiable le texte d'un PDF, remplir des formulaires ou fusionner des documents PDF de façon répétée.

Quand l'éviter

Évitez ce skill pour un simple coup d'œil rapide dans un PDF ou lorsque le document est constitué uniquement de scans sans texte sous-jacent.

Analyse de sécurité

Sûr
Score qualité80/100

This is a template for creating code skills. It contains no executable commands, network calls, or destructive actions. The example scripts are benign PDF analysis tools, and the template itself does not instruct any dangerous operations. No risk present.

Aucun point d'attention détecté

Exemples

Extract text from a PDF
Extract the text from the PDF file 'report.pdf' and save it to 'output.txt' using the PDF processing skill.
Analyze PDF structure
Analyze the structure of 'form.pdf' - show page count, form fields, and whether it contains text.
Merge multiple PDFs
Merge the PDFs 'doc1.pdf' and 'doc2.pdf' into a single file 'merged.pdf' using the merging script.

Code Skill Template

스크립트를 포함하는 스킬용


디렉토리 구조

my-code-skill/
├── SKILL.md
├── reference.md
└── scripts/
    ├── analyze.py
    ├── process.py
    └── validate.py

SKILL.md 예시

---
name: processing-pdfs
description: "Extracts text from PDFs, fills forms, merges documents. Use when working with PDF files or document extraction."
allowed-tools:
  - Bash
  - Read
  - Write
---

# PDF Processing

## Quick start

Extract text:
```bash
python scripts/extract_text.py input.pdf > output.txt

Workflow

Copy this checklist:

Progress:
- [ ] Step 1: Analyze PDF structure
- [ ] Step 2: Extract content
- [ ] Step 3: Validate output

Step 1: Analyze PDF

python scripts/analyze.py input.pdf

Output shows page count, form fields, and structure.

Step 2: Extract content

python scripts/extract_text.py input.pdf > output.txt

Step 3: Validate

python scripts/validate.py output.txt

Fix any issues before proceeding.

Scripts reference

| Script | Purpose | |--------|---------| | analyze.py | PDF 구조 분석 | | extract_text.py | 텍스트 추출 | | fill_form.py | 폼 필드 채우기 | | validate.py | 결과 검증 |

For detailed API: See reference.md

Dependencies

pip install pypdf pdfplumber

---

## scripts/analyze.py 예시

```python
#!/usr/bin/env python3
"""
analyze.py - PDF 구조 분석

Usage:
    python analyze.py input.pdf

Output:
    - Page count
    - Form fields
    - Text/image ratio
"""

import sys
import json
from pypdf import PdfReader

def main():
    if len(sys.argv) != 2:
        print("Usage: python analyze.py input.pdf", file=sys.stderr)
        sys.exit(1)
    
    pdf_path = sys.argv[1]
    
    try:
        reader = PdfReader(pdf_path)
    except Exception as e:
        print(f"Error reading PDF: {e}", file=sys.stderr)
        sys.exit(1)
    
    result = {
        "page_count": len(reader.pages),
        "form_fields": [],
        "has_text": False
    }
    
    # Form fields
    if reader.get_form_text_fields():
        result["form_fields"] = list(reader.get_form_text_fields().keys())
    
    # Check for text
    for page in reader.pages:
        if page.extract_text().strip():
            result["has_text"] = True
            break
    
    print(json.dumps(result, indent=2))

if __name__ == "__main__":
    main()

핵심 포인트

  1. 워크플로우 체크리스트: 진행 추적
  2. 피드백 루프: 검증 → 수정 → 재검증
  3. 스크립트 문서화: Usage, Output 명시
  4. 에러 직접 처리: Claude에 떠넘기지 않기
  5. 의존성 명시: pip install 명령 포함
Skills similaires