
백엔드
한/글 문서 파일 형식: Python을 통한 HWPX 포맷 파싱하기 (2)
두줄요약
HWPX 본문 구조와 section.xml·header.xml의 참조 관계를 Python으로 파싱하는 과정을 설명했습니다.문단과 run, 서식 정보를 연결해 텍스트·표·그림을 추출하는 방법을 다루었습니다.
핵심 내용
- HWPX 본문은 본문-구역-문단 구조로 이루어지며, 각 구역은 section.xml, 전체 구역 수는 header.xml의 secCnt로 연결
- 문단 p와 run을 순회하며 텍스트, 표, 그림, 제어 요소를 파싱하고, run의 charPrIDRef·p의 paraPrIDRef로 서식 정보를 참조
- header.xml의 refList에서 charProperties·paraProperties를 읽어 글자 모양과 문단 모양을 데이터 모델에 매핑
- Python 내장 라이브러리와 재귀적 텍스트 추출, factory 방식의 run 처리로 본문 데이터와 서식 정보를 결합
