# hwp olefile 처리

**URL:** <https://forum.developer.hancom.com/t/hwp-olefile/1762>\
**Category:** 일반 문의\
**Created:** [8월 26, 2024, 2:04오전 UTC](https://forum.developer.hancom.com/t/hwp-olefile/1762 "2024-08-26T02:04:07Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![user272](https://avatars.discourse-cdn.com/v4/letter/u/eb9ed0/32.png) [@user272](https://forum.developer.hancom.com/u/user272)\
**Post date:** [8월 26, 2024, 2:04오전 UTC](https://forum.developer.hancom.com/t/hwp-olefile/1762/1 "2024-08-26T02:04:07Z")

</div>

게시물이 오토메이션에 적절하지는 않은것 같으나 어디 물어볼데가 없어서 질문을 남겨봅니다…

python에서 olefile 을 사용해서 hwp파일을 읽어보고 있는데 텍스트는 그럭저럭 잘 가져오는것 같습니다만…  
참고링크 : [03. 한글(HWP) - \<랭체인LangChain 노트\> - LangChain 한국어 튜토리얼🇰🇷](https://wikidocs.net/253708)

이미지를 가져오기 위해서 한글문서파일형식\_5.0 pdf 가이드를 참고해서 해봐도 어떻게 가져와야 할지 모르겠네요…  
!png 라고만 나오고 경로가 나오거나 하진 않던데요…

참고한 부분은 캡쳐해서 올립니다.  
 ![한글문서파일형식5.0-1.3](https://us1.discourse-cdn.com/flex016/uploads/hancom_dev_forum/original/2X/6/6329bf8e26d93e34f0c660ae4bc142c112568095.png)

참고할만한 링크라던지 정보가 있으시면 공유 부탁 드립니다…

감사합니다.

---

<div class="post-metadata">

**Author:** ![user272](https://avatars.discourse-cdn.com/v4/letter/u/eb9ed0/32.png) [@user272](https://forum.developer.hancom.com/u/user272)\
**Post date:** [8월 26, 2024, 3:12오전 UTC](https://forum.developer.hancom.com/t/hwp-olefile/1762/2 "2024-08-26T03:12:04Z")

</div>

아… 이미지 자체는 BinData Storage 에 있군요…  
그럼 이 이미지가 본문에 어디쯤 있는지를 알수있나… 하… 어렵네여

---

<div class="post-metadata">

**Author:** ![jhbang](https://avatars.discourse-cdn.com/v4/letter/j/ee59a6/32.png) [@jhbang](https://forum.developer.hancom.com/u/jhbang)\
**Post date:** [8월 26, 2024, 4:17오전 UTC](https://forum.developer.hancom.com/t/hwp-olefile/1762/3 "2024-08-26T04:17:06Z")

</div>

안녕하세요.

이미지가 삽입된 문서를 열어서 시각화를 해보면 각 이미지별로 스트림을 구성하고 있음을 알 수 있습니다.

 ![20240826_125459](https://us1.discourse-cdn.com/flex016/uploads/hancom_dev_forum/original/2X/c/cae96df6632a5a753fd677b44ecbd705254b0892.png)

단계별로 접근한다면 DocInfo 스트림 내에는 아래와 같은 데이터를 저장하고 있고,  
(\* HWPTAG\_ID\_MAPPINGS, HWPTAG\_BIN\_DATA 데이터)

 ![image](https://us1.discourse-cdn.com/flex016/uploads/hancom_dev_forum/original/2X/f/f8be2b0fd3db1276a47fae3719633fa0d001ef88.png)

HWPTAG\_ID\_MAPPINGS에 저장된 데이터를 통해 바이너리 데이터의 개수를 가져올 수가 있습니다.

 ![image](https://us1.discourse-cdn.com/flex016/uploads/hancom_dev_forum/original/2X/3/38923b86a99f936a121e54d4859d02553af9e310.png)

그리고 HWPTAG\_BIN\_DATA 저장된 데이터를 통해 각 바이너리 데이터(이미지, OLE…)의 정보를 가져올 수 있는데요.

 ![image](https://us1.discourse-cdn.com/flex016/uploads/hancom_dev_forum/original/2X/5/51aa24058339926c92fa842cf96f37163395890d.png)

(임베딩 이미지의 경우)  
가져온 정보에서 id와 type 정보를 조합시켜 각 이미지의 Stream이름을 생성시킬 수가 있습니다.  
ex) BIN%04x.type → BIN0001.jpg

그러면 만들어진 이름을 가지고 Stream을 접근하여 이미지의 바이너리를 가져오면 됩니다.

해보시고 안되는 점이 있으면 다시 문의 부탁드립니다.  
감사합니다.
