목록 보기
한/글 문서 파일 형식: Python을 통한 HWP 포맷 파싱하기 (2)
백엔드

한/글 문서 파일 형식: Python을 통한 HWP 포맷 파싱하기 (2)

한글과컴퓨터
한글과컴퓨터
2025년 9월 29일

두줄요약

Python으로 HWP 본문 Section을 읽고 문단, 글자 모양, 문단 모양, 제어문자를 순서대로 파싱하는 방법을 설명했습니다. 샘플 파일을 통해 실제 서식과 파싱 결과가 일치함을 확인했습니다.

핵심 내용

  • Python과 olefile, zlib, BitStream을 이용한 HWP 본문 Section 스트림 파싱 과정 정리
  • 문단 헤더, 문단 텍스트, 글자 모양(CharShape), 문단 모양(ParaShape), 레이아웃 정보, 영역 태그를 레코드 단위로 읽는 구조 설명
  • 텍스트 내부 제어문자와 확장 컨트롤을 분리하고, secd·cold 같은 컨트롤 ID에 따라 추가 데이터 영역을 파싱하는 방식 소개
  • 샘플 HWP 파일을 분석해 글꼴, 색상, 가운데 정렬 등 서식이 실제 문서와 일치함을 확인

적용해볼 점

  • HWP 본문은 단순 문자열이 아니라 문단 레코드와 컨트롤 데이터가 함께 있는 구조로 처리 필요
  • 문단 속성은 본문 텍스트가 아니라 DocInfo의 모양 정보 ID를 참조하는 방식으로 해석 필요
  • 표, 그림 같은 복잡한 객체 파싱은 확장 컨트롤 처리 로직을 별도로 설계할 필요

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...