hwp-fill

star 7

한글 서식(.hwp, .hwpx)에 내용을 채웁니다. "서식 채우기", "hwp 작성", "한글 파일 채우기" 요청시 사용합니다.

nathankim0 By nathankim0 schedule Updated 2/2/2026

name: hwp-fill description: 한글 서식(.hwp, .hwpx)에 내용을 채웁니다. "서식 채우기", "hwp 작성", "한글 파일 채우기" 요청시 사용합니다.

한글 파일 채우기

입력

$ARGUMENTS

OS별 처리 방법

Windows: pyhwpx 사용 (권장)

Windows + 한글 프로그램이 설치된 환경에서는 pyhwpx를 사용합니다.

from pyhwpx import Hwp

hwp = Hwp()
hwp.open("서식.hwp")  # .hwp, .hwpx 모두 지원

# 필드에 값 채우기
hwp.put_field_text("연구과제명", "AI 기반 진단 시스템")
hwp.put_field_text("연구책임자", "홍길동")

# 저장
hwp.save_as("결과.hwp")
hwp.quit()

pyhwpx 설치: pip install pyhwpx

참고: pyhwpx는 한글 문서의 "누름틀" 필드를 사용합니다. 서식에 누름틀이 없으면 표 셀을 직접 찾아서 수정해야 합니다.

macOS/Linux: XML 직접 수정 (.hwpx만 지원)

처리 절차

1. HWPX 압축 해제
mkdir -p {임시디렉토리}
unzip -o {서식}.hwpx -d {임시디렉토리}/
2. 서식 파일 분석

{임시디렉토리}/Contents/section0.xml 파일을 읽어서:

  • 표(<hp:tbl>) 찾기
  • 각 행의 첫 번째 셀에서 필드명 추출
  • 두 번째 셀이 비어있으면 채워야 할 항목
3. 내용 파악

MD 파일 또는 사용자 제공 내용에서 필드-값 추출:

# 연구과제명
AI 기반 진단 시스템

## 연구책임자
홍길동

{"연구과제명": "AI 기반 진단 시스템", "연구책임자": "홍길동"}

4. 스마트 매칭

필드명이 정확히 일치하지 않아도 유연하게 매칭:

  • 과제명연구과제명 (부분 포함)
  • 책임자연구책임자 (유사어)
  • 연구 기간연구기간 (띄어쓰기 무시)

애매하면 반드시 사용자에게 확인:

  • 여러 후보가 있을 때
  • 의미가 다를 수 있을 때
  • 매칭할 필드를 못 찾았을 때
5. 매칭 결과 확인

사용자에게 매칭 결과를 보여주고 확인 받기:

매칭 결과:
- 연구과제명 ← "AI 기반 진단 시스템"
- 연구책임자 ← "홍길동"
- 연구기간 ← (내용 없음)

진행하시겠습니까?
6. XML 수정

Edit 도구를 사용하여 section0.xml의 해당 셀 내용을 수정:

수정 전:

<hp:tc><hp:p><hp:t></hp:t></hp:p></hp:tc>

수정 후:

<hp:tc><hp:p><hp:t>홍길동</hp:t></hp:p></hp:tc>

주의: 빈 <hp:t> 태그나 <hp:t/> 를 찾아서 값을 채웁니다.

7. 재압축
cd {임시디렉토리}
zip -r {출력파일}.hwpx *

중요: 압축 시 반드시 임시디렉토리 안에서 실행해야 합니다.

8. 정리
rm -rf {임시디렉토리}

출력

  • 기본 파일명: {원본}_filled.hwpx (또는 .hwp)
  • 사용자가 출력 파일명을 지정하면 해당 이름 사용
  • 채워진 필드, 못 채운 필드 알려주기

주의사항

  • macOS/Linux에서 .hwp는 지원 안 됨 → 한글에서 .hwpx로 다시 저장하라고 안내
  • Windows에서는 pyhwpx로 .hwp, .hwpx 모두 지원
  • XML 특수문자 이스케이프: &&amp;, <&lt;, >&gt;
  • 줄바꿈이 필요한 경우 여러 <hp:p> 태그 사용
  • 원본 파일은 수정하지 않음 (새 파일 생성)
Install via CLI
npx skills add https://github.com/nathankim0/easy-hwp --skill hwp-fill
Repository Details
star Stars 7
call_split Forks 0
navigation Branch main
article Path SKILL.md
More from Creator