Communitygithub.com

cli-anything-wps

WPS Office CLI — JSON 데이터 기반 PPT 자동 생성 + 명령줄로 WPS 문서/표/프리젠테이션 제어

cli-anything-wps란 무엇인가요?

이 스킬은 WPS Office의 COM 자동화 인터페이스를 통해 파워포인트, 워드, 엑셀 문서를 명령줄에서 완전히 제어할 수 있게 해줍니다. 특히 JSON 데이터를 기반으로 PPT 슬라이드를 자동 생성하는 핵심 워크플로우를 제공하며, matplotlib으로 생성한 차트 이미지를 포함한 6가지 요소 타입(text, image, table, cards_2x3, cards_1x4_info, card_list_wide, tagline_bar)을 지원합니다. Windows + WPS Office 12.0+ 환경에서 Python 3.10+과 pywin32를 필요로 하며, `cli-anything-wps` 명령어로 문서 생성, 스타일 적용, 디자인 프리셋(academic/consultant/business/tech) 적용 및 PPTX/PDF 내보내기가 가능합니다. 12-15페이지 분량의 표준 슬라이드 구조(커버→목차→콘텐츠→요약→감사)를 따르며, 제목은 최대 4자, 본문 간격 24pt 이상, 모든 요소가 960×540 캔버스 내에 위치하도록 제약 조건이 적용됩니다. 생산 환경에서는 `taskkill`로 WPS 프로세스를 정리한 후 실행해야 하며, WPS/ 디렉토리 아래 16개 실제 프로젝트 예제(대학 소개, 입시 자료 등)가 함께 제공됩니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/yb2460/harness-anything/tree/master/cli_anything/wps/skills

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

cli-anything-wps은(는) 무엇을 하나요?

COM 자동화 인터페이스를 통해 WPS Office를 제어하는 명령줄 도구입니다. WPS 문서(Writer), WPS 표(Calc), WPS 프리젠테이션(Impress)을 지원합니다.

전제 조건

  • Windows 운영체제
  • WPS Office (설치됨, 버전 12.0+)
  • Python 3.10+
  • pywin32: pip install pywin32

설치

pip install -e .
cli-anything-wps --help

JSON 데이터 기반 PPT 자동 생성 ⭐ 핵심 프로덕션 워크플로우

가장 많이 사용되는 패턴입니다: 데이터 수집 → matplotlib 차트 생성 → JSON 작성 → WPS COM으로 한 번에 생성.

전체 프로세스 (6단계)

1. 템플릿 배경 추출: 템플릿.pptx → template_bg.png (960x540)
2. WebSearch 데이터 검색: 입학 점수/학과 순위/입학 계획/연구 데이터
3. matplotlib 차트 생성: 막대 그래프/원형 그래프/꺾은선 그래프/가로 막대/버블 차트
4. data.json 작성: 12-15페이지 elements[] 편성 (제목 ≤4자 + 간격 ≥24pt)
5. python build_xxx.py: WPS COM으로 페이지별 구축
6. 출력: PPTX + PDF 이중 형식

표준 페이지 순서

S1 커버 → S2 목차 → S3-S10 콘텐츠 페이지(그림+표+카드) → S11 요약 카드 → S12 감사

요소 타입 라우팅

type용도
text텍스트 상자
image이미지(matplotlib 차트 포함)
table표
cards_2x32행x3열 컬러 카드
cards_1x4_info4열 숫자 통계 카드
card_list_wide목차 번호 목록
tagline_bar페이지 하단 요약 막대

주요 제약 사항 ⚠️

  • 제목과 콘텐츠 간격: 제목 y=14 h=40(y≈54에서 끝남), 첫 번째 콘텐츠 요소는 반드시 y≥76-78에서 시작(≥24pt 간격)
  • 제목 최대 4자, 중앙 정렬, SimHei 40-44pt, 브랜드 색상, 장식선 없음
  • JSON에서 인용 부호: 텍스트 내 인용은 「」를 사용하여 "" 대체
  • 모든 요소가 캔버스 내에 위치: 960×540, y+h≤518
  • WPS COM: Fill.ForeColor.RGB, SaveAs(path, 32)로 PDF 내보내기
  • 실행 전 정리: taskkill //F //IM wps.exe //T

참고 예제

WPS/ 디렉토리 아래 16개 프로젝트:

프로젝트페이지 수주제
칭화대/협화/란저우대/동지의대/하얼빈공대/충칭대/난화대12페이지각 대학 입시
중산대/중국과기대/중국과학원대15페이지명문대 입시
푸단대12페이지신공과+의대
난방과기대 종양병원12페이지연합 석박사 과정
베이징대/칭화대/난방과기대/화중과기대/저장대 도시대학9-14페이지각 대학 소개
# 전체 실행 예시
python -c "import zipfile; ..."  # 템플릿 추출
python gen_charts.py              # 차트 생성
python -c "import json; json.load(open('data.json','r',encoding='utf-8'))"  # JSON 검증
taskkill //F //IM wps.exe //T
python build_xxx.py               # PPTX+PDF 구축

CLI 명령 구조

wps
├── document          # 문서 관리: new/open/save/info
├── writer            # 문서 편집: add-paragraph/heading/list/table/image
├── calc              # 표 편집: set-cell/get-cell/set-range/merge-cells
├── impress           # 프리젠테이션: add-slide/remove-slide/set-content/add-element
├── style             # 스타일: create/modify/list/apply/remove
├── preset            # 디자인 프리셋: list/info/apply
├── export            # 내보내기: render output.pptx -p pptx
└── session           # 세션: status/undo/redo/history

사용 예시

# 문서 생성
cli-anything-wps document new --type writer --name "보고서" -o report.json
cli-anything-wps --project report.json writer add-heading -t "연례 보고서" -l 1
cli-anything-wps --project report.json export render report.docx -p docx

# JSON 모드 (Agent 사용)
cli-anything-wps --json document new --type writer --name "test"

디자인 프리셋

프리셋색상 구성사용 시나리오
academic진한 파랑 #1A3C8B학술 발표/연구비 신청
consultant진한 파랑 #003366+밝은 청록컨설팅 보고서
business비즈니스 블루 #005294회의 보고서/강의 자료
tech거의 검정 #0F1423기술/AI/데이터 보고서

품질 검토 (5개 차원)

차원검사 항목임계값
visual글꼴 계층/대비/여백70점
pedagogy스토리텔링 아크/사전 지식75점
proofreading맞춤법/용어/오버플로80점
parityPPTX/PDF 일관성85점
substance데이터 정확성/참조90점

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

관련 스킬