한
한글과컴퓨터
June 18, 20251회
한/글 문서 파일 형식: Python을 통한 HWP 포맷 파싱하기 (1)

간단 소개
Python을 사용하여 HWP 파일 포맷을 파싱하는 방법을 설명하고, DocInfo 영역의 주요 레코드 구조와 데이터 추출 과정을 상세히 안내합니다.
AI Summary
- HWP 파일 구조 및 파싱 개요
- HWP 파일은 Compound File Structure 이진 형식으로, 저장소와 스트림으로 구성됨
- olefile과 zlib 라이브러리를 사용하여 HWP 파일 파싱 및 압축 해제
- HWP 파일은 FileHeader, DocInfo, BodyText 등으로 구성되며, DocInfo 영역 파싱을 시작으로 설명
- DocInfo 영역 파싱 상세 과정
- DocInfo 스트림을 읽어 압축 해제 후, 레코드 구조에 따라 데이터 파싱
- 레코드 헤더(Tag ID, Level, Size)를 분석하여 데이터 종류와 길이 식별
- HWPTAG_DOCUMENT_PROPERTIES, HWPTAG_ID_MAPPINGS, HWPTAG_BIN_DATA, HWPTAG_FACE_NAME 등의 레코드 파싱 예제 제공
- 가변 데이터 처리 및 글꼴 정보
- HWP 포맷은 가변 길이 문자열 처리를 위해 문자열 길이 정보를 먼저 기록
- 글꼴 정보는 폰트 이름뿐 아니라 대체 글꼴 정보, 글꼴 유형 정보 등을 포함하여 호환성 유지
- 다음 시간에는 본문 정보 파싱을 다룰 예정
Next Feeds

웹빌더 시스템 Part 1: GrapesJS와 Next.js로 만드는 웹빌더 개발기
GrapesJS와 Next.js를 이용한 웹빌더 개발 과정, 주요 기능, 커스터마이징, 배포 및 운영 전략을 소개합니다.
GrapesJSNext.js웹빌더커스터마이징S3
2025. 6. 18.
여기어때

개발 생산성 200% 높이는 커뮤니케이션 전략 : 코드 밖에서도 성공하는 DevOps
개발 생산성을 200% 향상시키는 커뮤니케이션 전략을 제시하고, 실제 프로젝트 적용 사례와 피해야 할 실수를 통해 실질적인 도움을 제공합니다.
커뮤니케이션개발 생산성협업프론트엔드DevOps
2025. 6. 18.
인포그랩

K8s Tips & Tricks – 실전 쿠버네티스 핵심 꿀팁
Kubernetes 운영 시 유용한 팁들을 소개합니다. Namespace 설정, YAML 생성, 컨테이너 관리, 모니터링 등 실전 꿀팁을 통해 효율성을 높이세요.
KuberneteskubectlYAML컨테이너Bitnami
2025. 6. 17.
한글과컴퓨터

알리는사람들의 Amazon Data Firehose로 Amazon DynamoDB를 Amazon S3 tables로 실시간 복제하기
알리는사람들은 Amazon Data Firehose를 활용해 DynamoDB 데이터를 S3 Tables로 실시간 복제하고 Athena로 분석하는 파이프라인을 구축했습니다.
Amazon Data FirehoseAmazon DynamoDBAmazon S3 TablesApache IcebergAmazon Athena
2025. 6. 17.
AWS

Amazon RDS for PostgreSQL, Amazon Aurora PostgreSQL, Babelfish for Aurora PostgreSQL에서의 동적 데이터 마스킹
Amazon RDS for PostgreSQL, Aurora PostgreSQL, Babelfish에서 동적 데이터 마스킹을 구현하고 한계점을 분석합니다.
데이터 마스킹PostgreSQLAmazon RDSAuroraBabelfish
2025. 6. 17.
AWS

서비스 조직에서 Kafka를 사용할 때 알아 두어야 할 것들 (4)
네이버 서비스 조직에서 Kafka 사용 시 프로듀서 최적화 및 압축 기능 활용법, Kafka 자료구조 등을 다룬 NAVER ENGINEERING DAY 발표 내용 요약.
Kafka프로듀서최적화압축NAVER ENGINEERING DAY
2025. 6. 16.
Naver d2