document-processor

jiunbae's avatarfrom jiunbae

통합 문서 처리 스킬. PDF, DOCX, XLSX, PPTX 문서 분석/요약/변환. "문서 분석", "PDF 변환", "Excel 추출", "문서 요약" 요청 시 활성화됩니다.

⭐0stars🔀0forks📁View on GitHub🕐Updated Jan 1, 2026

When & Why to Use This Skill

The Document Processor skill is a comprehensive tool designed to automate the analysis, summarization, and conversion of various file formats including PDF, DOCX, XLSX, and PPTX. It leverages advanced extraction techniques to retrieve text, tables, and metadata, enabling users to transform complex documents into structured data or concise AI-generated summaries. This skill streamlines workflows by supporting seamless format transitions such as PDF to Word, Excel to JSON, and PowerPoint to Markdown.

Use Cases

  • Legal & Compliance: Automatically extract key clauses, dates, and parties from PDF contracts and generate structured summaries for quick review.
  • Financial Data Management: Convert complex Excel spreadsheets into JSON or CSV formats to facilitate data migration and integration with other software tools.
  • Academic Research: Summarize lengthy research papers and reports, extracting both text and tabular data into Markdown for personal knowledge management.
  • Business Reporting: Transform PowerPoint presentations into PDF or image formats while generating concise meeting notes from the slide content.
  • Data Extraction: Use specialized scripts to pull structured table data from multi-page PDF documents and export them directly to Excel for analysis.
namedocument-processor
description통합 문서 처리 스킬. PDF, DOCX, XLSX, PPTX 문서 분석/요약/변환. "문서 분석", "PDF 변환", "Excel 추출", "문서 요약" 요청 시 활성화됩니다.

Document Processor - 통합 문서 처리

Overview

PDF, Word, Excel, PowerPoint 문서를 분석 → 요약 → 변환/내보내기하는 통합 스킬입니다.

핵심 기능:

  • 문서 분석: 텍스트, 테이블, 이미지 추출
  • AI 요약: 문서 내용 자동 요약
  • 포맷 변환: 문서 간 변환 (PDF↔DOCX, XLSX→CSV 등)
  • 데이터 내보내기: JSON, CSV, Markdown으로 추출

지원 포맷:

포맷 읽기 쓰기 변환 대상
PDF ✅ ✅ TXT, MD, DOCX
DOCX ✅ ✅ PDF, MD, TXT
XLSX ✅ ✅ CSV, JSON, MD
PPTX ✅ ✅ PDF, MD, 이미지

When to Use

이 스킬은 다음 상황에서 활성화됩니다:

명시적 요청:

  • "문서 분석해줘", "문서 요약해줘"
  • "PDF를 Word로 변환"
  • "Excel 데이터 추출해줘"
  • "PPT 내용 요약해줘"

자동 활성화:

  • 문서 파일(.pdf, .docx, .xlsx, .pptx) 처리 요청 시
  • 포맷 변환이나 데이터 추출 작업 시

Workflow

1. 문서 분석 및 요약

사용자: "이 PDF 문서 분석하고 요약해줘"

워크플로우:
1. 문서 포맷 감지 (확장자)
2. 적절한 추출 방법 선택
3. 텍스트/테이블 추출
4. AI 요약 생성
5. 결과 출력

2. 포맷 변환

사용자: "이 Word 문서를 PDF로 변환해줘"

워크플로우:
1. 소스 문서 읽기
2. LibreOffice로 변환
3. 결과 파일 저장

3. 데이터 추출 및 내보내기

사용자: "이 Excel에서 데이터 추출해서 JSON으로"

워크플로우:
1. Excel 파일 읽기
2. pandas로 데이터 파싱
3. JSON으로 내보내기

문서 분석 방법

PDF 분석

# 텍스트 추출
import pdfplumber

with pdfplumber.open("document.pdf") as pdf:
    text = ""
    tables = []
    for page in pdf.pages:
        text += page.extract_text() or ""
        tables.extend(page.extract_tables())
# 또는 명령줄로
pdftotext -layout document.pdf output.txt

DOCX 분석

# Markdown으로 변환 (구조 보존)
pandoc --track-changes=all document.docx -o output.md

XLSX 분석

import pandas as pd

# 모든 시트 읽기
all_sheets = pd.read_excel('file.xlsx', sheet_name=None)

for sheet_name, df in all_sheets.items():
    print(f"=== {sheet_name} ===")
    print(df.head())
    print(df.describe())

PPTX 분석

# Markdown으로 텍스트 추출
python -m markitdown presentation.pptx > output.md

포맷 변환 레시피

PDF → 텍스트/Markdown

# 텍스트 추출 (레이아웃 보존)
pdftotext -layout input.pdf output.txt

# Markdown으로 (pandoc)
pandoc input.pdf -o output.md

DOCX → PDF

# LibreOffice 사용
soffice --headless --convert-to pdf document.docx

# 출력: document.pdf

DOCX → Markdown

pandoc document.docx -o output.md

XLSX → CSV

import pandas as pd

df = pd.read_excel('input.xlsx')
df.to_csv('output.csv', index=False)

XLSX → JSON

import pandas as pd

df = pd.read_excel('input.xlsx')
df.to_json('output.json', orient='records', force_ascii=False, indent=2)

PPTX → PDF

soffice --headless --convert-to pdf presentation.pptx

PPTX → 이미지

# PDF로 변환 후 이미지로
soffice --headless --convert-to pdf presentation.pptx
pdftoppm -jpeg -r 150 presentation.pdf slide
# 결과: slide-1.jpg, slide-2.jpg, ...

AI 요약 생성

문서 내용을 추출한 후, Claude에게 요약을 요청합니다.

요약 템플릿

짧은 요약 (1-2문장):

이 문서의 핵심 내용을 한두 문장으로 요약해줘.

구조화된 요약:

이 문서를 다음 형식으로 요약해줘:
1. 핵심 주제
2. 주요 포인트 (3-5개)
3. 결론/권장사항

섹션별 요약:

이 문서의 각 섹션을 개별적으로 요약해줘.

데이터 추출 패턴

테이블 추출 (PDF)

import pdfplumber
import pandas as pd

with pdfplumber.open("document.pdf") as pdf:
    all_tables = []
    for page in pdf.pages:
        tables = page.extract_tables()
        for table in tables:
            if table and len(table) > 1:
                df = pd.DataFrame(table[1:], columns=table[0])
                all_tables.append(df)

    # 합치기
    if all_tables:
        combined = pd.concat(all_tables, ignore_index=True)
        combined.to_excel("extracted_tables.xlsx", index=False)

특정 데이터 추출 (Excel)

import pandas as pd

df = pd.read_excel('data.xlsx')

# 조건부 추출
filtered = df[df['status'] == 'active']

# 특정 열만
selected = df[['name', 'email', 'date']]

# JSON으로 내보내기
selected.to_json('output.json', orient='records', force_ascii=False)

메타데이터 추출 (PDF)

from pypdf import PdfReader

reader = PdfReader("document.pdf")
meta = reader.metadata

info = {
    "title": meta.title,
    "author": meta.author,
    "subject": meta.subject,
    "creator": meta.creator,
    "pages": len(reader.pages)
}

일괄 처리

여러 문서 처리

import os
from pathlib import Path

input_dir = Path("./documents")
output_dir = Path("./output")
output_dir.mkdir(exist_ok=True)

for file in input_dir.glob("*.pdf"):
    # 각 PDF 처리
    output_file = output_dir / f"{file.stem}.txt"
    os.system(f'pdftotext -layout "{file}" "{output_file}"')

배치 변환

# 모든 DOCX를 PDF로
for f in *.docx; do
    soffice --headless --convert-to pdf "$f"
done

통합 파이프라인 예시

예시 1: 계약서 분석

입력: contract.pdf
출력: 요약 + 주요 조항 + 날짜/금액 추출

1. PDF에서 텍스트 추출
2. 계약 당사자, 계약일, 금액 추출
3. 주요 조항 요약
4. JSON으로 구조화된 결과 출력

예시 2: 재무 보고서 변환

입력: financial_report.xlsx
출력: PDF 보고서 + JSON 데이터

1. Excel에서 데이터 추출
2. 요약 통계 생성
3. PDF 보고서 생성
4. 원본 데이터 JSON 내보내기

예시 3: 프레젠테이션 요약

입력: presentation.pptx
출력: Markdown 요약 + 슬라이드 이미지

1. PPTX에서 텍스트 추출
2. 각 슬라이드 요약
3. 슬라이드를 이미지로 변환
4. Markdown 문서 생성 (이미지 포함)

제한 사항

변환 제한

변환 지원 비고
PDF → DOCX △ 레이아웃 손실 가능
이미지 PDF → 텍스트 △ OCR 필요 (pytesseract)
복잡한 수식 △ 수식 보존 어려움
암호화된 PDF × 비밀번호 필요

품질 참고

  • PDF 추출: 스캔 문서는 OCR 필요
  • 테이블 추출: 복잡한 테이블은 수동 검증 필요
  • 포맷 변환: 원본 스타일 100% 보존 어려움

Examples

예시 1: PDF 문서 요약

사용자: 이 계약서.pdf 핵심 내용 요약해줘

Claude: PDF 문서를 분석합니다...

## 계약서 요약

**당사자**: A사 ↔ B사
**계약일**: 2025-01-15
**계약금액**: 5,000만원

**주요 조항**:
1. 납품 기한: 2025-03-31
2. 지체상금: 일 0.1%
3. 하자보증: 1년

예시 2: Excel → JSON 변환

사용자: 고객목록.xlsx를 JSON으로 변환해줘

Claude: Excel 파일을 JSON으로 변환합니다...

[저장됨: 고객목록.json]
{
  "customers": [
    {"id": 1, "name": "홍길동", "email": "hong@example.com"},
    ...
  ]
}

Best Practices

DO:

  • 대용량 문서는 페이지 범위 지정하여 처리
  • 변환 전 원본 백업
  • OCR 결과는 수동 검증
  • 테이블 추출 후 데이터 정합성 확인

DON'T:

  • 암호화된 문서 무리하게 처리 시도
  • 복잡한 레이아웃 문서의 완벽한 변환 기대
  • OCR 없이 스캔 PDF 텍스트 추출 시도
  • 원본 파일 직접 수정

Prerequisites

# Python 라이브러리
pip install pypdf pdfplumber pandas openpyxl python-pptx markitdown

# 시스템 도구
sudo apt-get install poppler-utils pandoc libreoffice

# OCR (선택)
pip install pytesseract pdf2image
sudo apt-get install tesseract-ocr

Troubleshooting

PDF 텍스트 추출 실패

  • 원인: 스캔된 이미지 PDF
  • 해결: OCR 사용 (pytesseract)

테이블 추출 불완전

  • 원인: 복잡한 병합 셀 구조
  • 해결: 수동으로 영역 지정하거나 Excel로 재작성

LibreOffice 변환 오류

  • 원인: LibreOffice 미설치 또는 경로 문제
  • 해결: which soffice로 경로 확인, 재설치