hwp olefile 처리

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

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

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

참고한 부분은 캡쳐해서 올립니다.
한글문서파일형식5.0-1.3

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

감사합니다.

1개의 좋아요

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

1개의 좋아요

안녕하세요.

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

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

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

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

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

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

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

1개의 좋아요