-
hwp 변환 안 하고 맥에서 한글파일 여는 법외주개발 2026. 9. 9. 09:28
지난번에 정부 사업공고 zip을 푸는 얘기를 썼는데, 그 안에서 나온 게 hwp 다섯 개였다.
hwp 변환을 검색하게 되는 게 딱 이 지점임

다음에서 hwp 변환을 검색한 결과 맥은 이게 뭔지도 모른다
다운로드 폴더에서 hwp로 검색해봤다.

파인더에서 hwp 파일이 물음표 아이콘으로 표시되는 화면 134개다. 전부 물음표 아이콘임
맥에 등록된 형식이 아니라서 미리보기도 안 되고 아이콘도 안 나온다. 파일 정보를 찍어보면 종류가
dyn.으로 시작하는데, 그게 "모르는 확장자"라는 뜻이다.열려면 뭐가 됐든 깔거나 올려야 하는 상태다
나는 웹 한컴독스로 봤다
한컴오피스를 안 깔고 브라우저에서 여는 방법이 있다.

한컴독스 웹사이트 화면 파일을 올리면 브라우저에서 그대로 보인다. 급할 때는 이게 제일 빠름
다만 로그인이 필요하고, 화면 곳곳이 구독 안내다. 그리고 정부 서식을 남의 서버에 올리는 게 된다. 내 사업계획서가 들어간 파일이면 한 번은 생각해볼 문제임
그래서 안 올리고 볼 방법이 있나 봤다. 있었다
확장자가 두 종류고 성질이 다르다
.hwp랑.hwpx를 같은 걸로 보고 있었는데 아니었다.
터미널에서 file 명령으로 hwpx와 hwp의 형식을 확인한 결과 확장자 정체 .hwpxzip 압축파일 .hwp한글 전용 바이너리 hwpx는 그냥 zip이다. 확장자만 바꾼 게 아니라 진짜 zip이라 압축 푸는 도구로 열린다
hwpx를 풀면 이렇게 생겼다
bsdtar -tf 파일.hwpx
hwpx 압축을 풀어 내부 파일 목록을 본 결과 안에 xml이 여러 개 들어 있다. 그중에 눈에 띄는 게 하나 있음
Preview/PrvText.txt미리보기용 본문 텍스트다. 한글이 파일 만들 때 같이 넣어두는 거고, 아무것도 안 깔아도 그냥 읽힌다
구형 hwp도 된다
.hwp는 zip이 아니라 안 풀린다. 근데 안을 들여다보면 구조가 비슷하다.PrvText라는 같은 이름의 덩어리가 들어 있음파이썬으로 열 수 있다.
import sys, zipfile, olefile f = sys.argv[1] if zipfile.is_zipfile(f): print(zipfile.ZipFile(f).read('Preview/PrvText.txt').decode('utf-8')) else: print(olefile.OleFileIO(f).openstream('PrvText').read().decode('utf-16-le'))pip install olefile하나만 있으면 된다.
터미널에서 hwp 파일의 본문 텍스트를 추출한 결과 공고문 본문이 그대로 나온다. 날짜, 공고번호, 주의사항까지
파일을 열어본 게 아니라 파일 안에 이미 있던 걸 꺼낸 거다
뭘 언제 쓰냐면

다음에서 맥 한글파일 열기를 검색한 결과 셋 다 써보고 정리하면 이렇다.
- 서식을 채워서 제출해야 하면 한컴독스나 한컴오피스 말고는 답이 없다. 표를 편집해야 하니까
- 내용만 확인하면 되면 PrvText로 충분하다. 공고문 읽는 건 대부분 여기서 끝남
- 파일이 여러 개면 스크립트가 낫다. 나는 134개라 하나씩 올릴 수가 없었다
변환 사이트는 안 썼다. 굳이 남의 서버에 올릴 이유가 없었음
정리하면
- 맥은 hwp를 모른다. 물음표 아이콘으로만 뜨고 미리보기도 없다
- hwpx는 zip이다. 압축 풀면
Preview/PrvText.txt에 본문이 들어 있다 - 구형 hwp도
PrvText가 있다. olefile 로 꺼내면 된다 - 서식 작성은 결국 한컴이 필요하다. 읽기만 하는 거랑 채우는 건 다른 문제다
hwp 변환을 검색하다가 알게 된 건, 변환할 필요가 없는 경우가 꽤 많다는 거였다.
'외주개발' 카테고리의 다른 글
압축풀기 할 때 맥에서 한글 깨짐 알집 깔기 전에 이거부터 보셈 (0) 2026.09.08 그룹웨어 추천 목록 은 모르겠고 그룹웨어 해체해본 후기 씀 (0) 2026.09.05 PG사 수수료 - 두 서비스에 붙여본 후기 (0) 2026.09.04 무료 전자서명 만들기, 서명 그림보다 중요한 게 있다 (0) 2026.09.03 자사몰 만들기에서 진짜 막히는 건 이거였음 (개발아님) (0) 2026.09.02