# 한/글 문서 파일 형식 : HWPX 포맷 구조 살펴보기

> Clean Markdown view of GeekNews topic #19448. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=19448](https://news.hada.io/topic?id=19448)
- GeekNews Markdown: [https://news.hada.io/topic/19448.md](https://news.hada.io/topic/19448.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2025-02-26T13:57:18+09:00
- Updated: 2025-02-26T13:57:18+09:00
- Original source: [tech.hancom.com](https://tech.hancom.com/hwpxformat/)
- Points: 6
- Comments: 4

## Summary

HWPX는 한글과컴퓨터에서 개발한 XML 기반의 개방형 문서 포맷으로, 기존 HWP 포맷과 달리 ZIP 구조로 구성되어 있어 데이터 추출이 용이합니다. HWPX 파일은 여러 XML 파일과 폴더로 구성되며, 주요 구성 요소로는 파일 형식 정보를 담은 `mimetype`, 외부 설정 요소를 포함한 `settings.xml`, 문서 저장 환경 정보를 담은 `version.xml`, 그리고 문서의 서식 정보와 본문 내용을 포함한 `Contents/` 등이 있습니다. 이러한 구조는 HWPX의 개방성, 호환성, 보존성을 확보하기 위한 것으로, 이후 시리즈에서는 HWPX 문서에서 데이터를 추출하는 방법을 소개할 예정입니다.

## Topic Body

- 개방형 문서 포맷인 HWPX의 구조와 데이터를 저장하고 관리하는 방식을 설명  
- HWPX와 기존 HWP 포맷의 차이를 설명하며, HWPX 포맷의 주요 구성 요소와 각 파일의 역할을 분석  
  
### 서론   
- HWP는 바이너리 포맷이고, HWPX는 XML 파일들이 ZIP 구조로 구성되어 있다는 점이 가장 큰 차이  
- HWP 포맷의 경우 스트림이 레코드 형식으로 구성되어 있어서 데이터를 추출하기 위해 별도의 분석 과정을 거쳐야 함  
  - 반면에 HWPX 포맷은 주요 파일들이 XML이기 때문에 데이터 추출이 용이  
  
### HWPX란  
- 한글과컴퓨터에서 개발한 XML 기반의 개방형 문서 포맷으로 국가 표준(KS X 6101)인 OWPML을 따르는 개방형 문서 포맷  
- OWPML은 XML 기반의 ‘개방형 워드프로세서 마크업 언어(Open Word-Processor Markup Language)’를 의미  
  - 2011년 12월 30일 제정된 한국산업표준(KS)으로, 약 2년에 걸쳐 국내 문서 표준화 위원회를 통해 표준 개발이 진행  
  - 국내 표준 개발에 직접 참여하고 있는 전문가들과 함께 공동 개발된 국가 표준  
- HWP 형식의 바이너리 포맷에 대한 개방성, 호환성, 보존성을 확보하기 위해 개발된 파일 형식  
  - 이를 위해 XML 기반의 패키지 포맷으로 구성  
  
### HWPX 파일 구조  
  
- HWPX는 ZIP 파일 구조를 가진 XML 기반 포맷  
- 압축을 해제하면 여러 XML 파일과 폴더로 구성되어 있음음  
- 주요 구성 요소:  
  - `mimetype`: 파일 형식 정보를 담고 있어 HWPX 포맷임을 확인하는 시그니처 정보  
  - `settings.xml`: 커서 위치 등 외부 설정 요소 정보를 포함  
  - `version.xml`: OWPML 파일 형식 버전 정보와 문서 저장 환경 정보를 담고 있음  
  - `BinData/`: 문서에 포함된 이미지, OLE 개체 등의 바이너리 파일들이 저장  
  - `Contents/`: 문서의 서식 정보와 본문 내용이 포함되어 있으며, `content.hpf`, `header.xml`, `section0.xml` 등의 파일로 구성됨  
    - `content.hpf` : 패키징 주요 파일 목록. PF(Open Packaging Format) 표준에 따라 정의되었으며, metadata, manifest, spine 세 부분으로 나누어 구성  
    - `header.xml` : 문서 내용과 관련된 모든 설정을 포함하며, 글자 모양, 문단 모양 등의 매핑 정보를 담고 있음  
    - `section0.xml` : 구역별 본문 내용을 저장하며, 문서의 각 구역이 별도의 파일로 저장  
  - `META-INF/`: manifest.xml, container.rdf, container.xml 파일이 포함되어 있으며, 암호 문서의 경우 각 파일별 암호화 정보가 저장  
  - `Scripts/`: 문서에 저장된 스크립트 정보가 headerScripts, sourceScripts 파일에 저장  
  - `Preview/`: 미리보기 이미지와 텍스트 파일이 담겨 있음.  파일 탐색기에서 미리보기 창을 열었을 때 표시되는 정보. 암호 문서의 경우 보안을 위해 해당 파일을 저장하지 않음   
  
### 마치며   
- HWPX를 활용하기에 앞서 전체적인 구조와 내부를 구성하는 각 파일의 역할을 설명   
- 이후 시리즈에서는 실제 HWPX 문서에서 원하는 데이터를 추출하는 예제를 공유할 것   
- HWPX의 구성 요소와 데이터를 활용하는 데 도움이 되기를 바람

## Comments



### Comment 35160

- Author: penguin5
- Created: 2025-02-26T16:19:28+09:00
- Points: 1

좋은글 감사합니다. AWS에서 생성하는 파일(보고서같은)을 HWP로 하고 싶은데, 관련 레퍼런스가 부족해 어려움이 있습니다. 현재는 Word로 하고 있구요. 혹 관련 참고가 될만한 자료가 있으시면 링크 부탁 드려봅니다.

### Comment 35156

- Author: regentag
- Created: 2025-02-26T16:12:10+09:00
- Points: 1

전에 듣기엔 hwpx는 hwp의 바이너리를 단순히 xml로 풀어 쓴 다음 zip으로 묶은것라더군요.  
그렇지만 적어도 읽을 수는 있으니...

### Comment 35166

- Author: molla
- Created: 2025-02-26T17:16:51+09:00
- Points: 1
- Parent comment: 35156
- Depth: 1

저건 docx 그대로 따라한 것이라고 합니다.  
이미 MS가 doc로 docx를 만들 때 그렇게 했지요.

### Comment 35150

- Author: xguru
- Created: 2025-02-26T13:58:48+09:00
- Points: 1

[한/글 문서 파일 형식: HWP 포맷 구조 살펴보기](https://news.hada.io/topic?id=19426)
