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

이 글은 AI가 원문을 분석하여 핵심 내용을 요약한 것입니다.

Python을 통한 HWP 포맷 본문 파싱

이 게시물은 Python을 이용하여 한/글(HWP) 문서 파일의 본문을 파싱하는 과정을 상세히 설명합니다.

본문 데이터 구조 및 파싱 절차

  • Section 스트림을 zlib으로 압축 해제 후 문단 단위 레코드를 순차적으로 읽음
  • 문단은 텍스트, 제어 문자, 글자 모양(CharShape), 문단 모양(ParaShape) 등 여러 레코드로 구성됨
  • 제어 문자는 문자 컨트롤, 인라인 컨트롤, 확장 컨트롤로 구분되며, 확장 컨트롤은 별도 데이터 영역을 파싱해야 함

구현 및 분석

  • BitStream과 dataclass를 활용해 문단 및 스타일 정보를 읽어들이는 Python 코드 제공
  • 글자모양과 문단모양 파싱을 통해 서식 정보(글꼴, 크기, 색상, 정렬 등)를 정확히 추출
  • 샘플 파일 분석 결과 실제 렌더링과 일치하는 서식 정보를 확인함

다음 단계

다음 글에서는 표, 그림 등 복잡한 컨트롤 객체의 파싱 방법을 다룰 예정입니다.

연관 게시글