GN⁺: 한/글 문서 파일 형식 : HWPX 포맷 구조 살펴보기
(tech.hancom.com)- 개방형 문서 포맷인 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의 구성 요소와 데이터를 활용하는 데 도움이 되기를 바람
좋은글 감사합니다. AWS에서 생성하는 파일(보고서같은)을 HWP로 하고 싶은데, 관련 레퍼런스가 부족해 어려움이 있습니다. 현재는 Word로 하고 있구요. 혹 관련 참고가 될만한 자료가 있으시면 링크 부탁 드려봅니다.