스킬.잇다
itda-work/name-badge 정식 v0.10.1

빠른 시작

CSV 또는 Excel 명단과 PPTX 템플릿만 있으면 행사 명찰을 자동으로 생성할 수 있습니다.

CSV 명단으로 배지 만들어줘
엑셀 명단으로 PPTX 명찰 생성해줘

이 한 줄이면 스킬이 명단을 분석하고, 템플릿의 placeholder와 자동 매핑해 완성된 PPTX 파일을 만들어줍니다.

활용 시나리오

다수 필드 명찰 (슬라이드당 4명)

회사명/부서/이름/직책을 담은 기업 행사용 명찰을 슬라이드당 여러 장씩 배치합니다.

이 CSV 명단으로 슬라이드당 4명짜리 명찰 만들어줘

템플릿에 {이름_1}, {부서_1}, {회사명_1}처럼 인덱스 접미사가 붙은 placeholder를 넣어두면, 스킬이 자동으로 명단을 채워 넣습니다.

단순 이름표 (슬라이드당 1명)

이름만 들어가는 세미나용 이름표는 템플릿에 {이름}만 배치하면 됩니다.

이 명단으로 1명씩 들어가는 이름표 만들어줘

컬럼명이 다를 때

명단의 컬럼명이 템플릿 placeholder와 다르면 --mapping으로 재매핑합니다. 예: 명단은 성명, 템플릿은 {이름}.

CSV의 성명 컬럼을 템플릿의 {이름}에 매핑해서 명찰 만들어줘

출력 옵션

옵션설명사용 시점
단일 모드슬라이드당 1명, placeholder는 {이름}세미나·강연 이름표
다중 모드슬라이드당 N명, placeholder는 {이름_1}~{이름_N}기업 행사, 대량 인쇄
컬럼 매핑 오버라이드--mapping '{"이름":"성명"}'로 일부만 재매핑명단·템플릿 컬럼명이 다를 때
인코딩 지정--encoding euc-kr 또는 utf-8한글 CSV 인코딩 오류 발생 시

기본 출력 파일은 현재 경로에 itda-name-badge-{timestamp}.pptx로 저장됩니다. --output으로 경로를 직접 지정할 수 있습니다.

  • analyze.py 먼저 실행: generate.py로 바로 넘어가지 말고 scripts/analyze.py를 먼저 돌리세요. 명단의 컬럼 구조, 템플릿의 badges_per_slide 값, placeholder 매핑을 JSON으로 확인할 수 있어 실패가 크게 줄어듭니다.
  • 컬럼명 자동 매핑: 명단 컬럼명이 템플릿 placeholder와 동일(이름, 부서, 회사명)하면 --mapping 없이도 자동 매칭됩니다. 다른 경우에만 JSON으로 일부 오버라이드하면 됩니다.
  • 마지막 슬라이드 빈 슬롯 자동 처리: 다중 모드에서 명단 인원이 슬라이드당 배지 수로 나누어떨어지지 않으면, 마지막 슬라이드의 남는 슬롯은 자동으로 빈 문자열로 채워집니다.

제한사항

  • ⚠️ 템플릿 슬라이드는 반드시 1개: PPTX 템플릿에 슬라이드가 2개 이상이면 오류가 발생합니다. 생성기가 템플릿 슬라이드 1개를 복제하는 방식이므로 디자인할 슬라이드만 남기고 나머지는 삭제하세요.
  • PPTX 외 템플릿은 미지원: Keynote(.key), Google Slides, HWP 등 다른 프레젠테이션 포맷은 지원하지 않습니다. PPTX로 변환 후 사용하세요.
  • placeholder 형식 엄격: {이름} 형태의 중괄호 기반 placeholder만 인식합니다. 템플릿에 placeholder가 전혀 없으면 경고가 표시되고, 계속 진행할지 확인을 요청합니다.
  • 한글 CSV 인코딩: 기본 utf-8으로 시도 후 실패하면 --encoding euc-kr을 지정해야 합니다.