서론
- 현대 사회에서 인공지능 기술은 다양한 분야에서 혁신을 이끌고 있으며, 데이터의 중요성은 증가하고 있음
- HWP 포맷은 AI 학습에 유리한 요소들을 가지고 있음
- 단순한 텍스트 외에도 이미지, 표, 차트 등의 다양한 요소로 구성되어 풍부한 정보를 제공
- 제목, 단락, 표 등의 다양한 형식으로 구조화되어 있어 AI 모델이 문서를 이해하고 분석하는데 도움이 될 수 있음
- 이번 글에서는 HWP 포맷의 구조와 문서 정보 저장 방식을 살펴볼 것임
HWP 포맷이란?
- HWP 포맷은 한글과컴퓨터에서 개발된 문서 포맷으로, 1997년에 처음 공개되었음.
- 이 포맷은 CFB(Compound File Binary File Format)로 구성되어 있으며, 여러 데이터 스트림을 단일 파일에 저장하는 방식임.
- HWP 파일에는 File Header, DocInfo, DocOptions, BodyText, Script, HwpSummaryInformation, PrvImage, PrvText 등의 정보가 포함되어 있음.
1. File Header
- HWP 파일의 파일 헤더에는 한글 문서 인식 정보가 포함되어 있음.
- 서명 정보, 문서 버전, 파일 인식 정보 등이 포함되어 있으며, 이를 통해 HWP 파일의 문서 종류를 판단함.
2. DocInfo
- 문서에서 사용된 글꼴, 글자 속성, 문단 속성 등 공통 정보들을 담고 있는 스트림임.
- DocInfo는 zlib으로 압축되어 저장되며, 압축을 해제하면 원본 데이터를 확인할 수 있음.
- 여러 종류의 정보가 레코드 형식으로 저장되어 있음.
3. DocOptions
- 연결 문서, 배포용 문서, 공인인증서 등의 정보가 스트림으로 저장됨.
4. BodyText (Section)
- 문서의 본문에 해당하는 실제 내용이 저장됨.
- 본문의 구역 수에 따라 여러 개의 Section 스트림으로 구성됨.
5. Script
- 스크립트 매크로 기능에 정의된 스크립트 정보가 기록된 스토리지임.
6. HwpSummaryInformation
- 문서 요약 정보가 저장되어 있으며, 마이크로소프트의 PropertySet 구조로 되어 있음.
7. PrvImage
- 문서의 미리 보기 이미지로, 첫 번째 페이지 이미지가 저장됨.
8. PrvText
- 문서의 미리 보기 텍스트로, 첫 번째 페이지 내용이 유니코드 문자열로 저장됨.
마치며
- HWP 포맷은 바이너리 형식으로 저장되어 사람이 직접 읽기 어렵고, 특정 소프트웨어에서만 열람 및 수정이 가능하도록 설계됨.
- 반면, HWPX 포맷은 오픈 XML 기반의 포맷으로 데이터가 구조화되어 있어 사람이 내용을 쉽게 이해할 수 있도록 설계됨.
- 다음 시간에는 HWPX 포맷이 HWP 포맷과 어떤 차별화된 방식으로 정보를 저장하는지 알아볼 것임.