본문 바로가기
아래아한글 자동화/python+hwp 중급

[7/8] 특정 이름으로 이미지 저장하기

by 일코 2022. 10. 25.
반응형
def ctrl로_이동하기(ctrl):
    loc_set = ctrl.GetAnchorPos(0)
    hwp.SetPosBySet(loc_set)
    

def 이미지저장(제목함수):
    ctrl = hwp.HeadCtrl  # 첫 번째 컨트롤부터 탐색
    이미지번호 = 1
    이전제목 = ""
    while ctrl != None:
        if ctrl.CtrlID == "gso":  # "그림"이면
            ctrl로_이동하기(ctrl)
            hwp.Run("CloseEx")  # 표 안에 있는 경우, 표 밖으로 나옴
            제목 = 제목함수(hwp.GetPos()[1])
            if 이전제목 != 제목:
                이미지번호 = 1  # 폴더별로 1번부터 시작하기 위함
            이전제목 = 제목
            ctrl로_이동하기(ctrl)
            hwp.FindCtrl()
            hwp.HAction.Run("PictureToOriginal")  # 원래 크기로
            문서이름 = hwp.Path.split('\\')[-1][:-4]  # ".hwp" 제거
            저장할_파일경로 = 취합폴더/"취합사진"/제목/f"{문서이름}_{제목}#{이미지번호}.jpg"
            그림추출(저장할_파일경로)
            이미지번호 += 1
        else:
            pass
        ctrl = ctrl.Next


제목리스트, 제목함수 = 제목뽑기()
이미지저장(제목함수)

이전 포스팅(4번)에서 HeadCtrl 및 FindCtrl 등에 대해 간단히 설명드렸습니다.

이번 포스팅에서는 위 포스팅에서 가볍게 짚어보았던 핵심개념에

살을 붙여 구체화한 함수를 하나 정의했습니다.

 

실행해보면

"알파팀_꽃사진#1.jpg" 등으로 저장됨

 

이제 다음 포스팅에서 메인함수를 설명드리고 마치겠습니다.

 

1. 문단제목과 위치를 추출해서

2. 하위폴더를 만들어 두고

3. 각 이미지가 어느 문단에 속해 있는지 파악해서

4. 이미지를 저장할 경로와 파일명을 결정한 후

5. 그림추출(경로명) 메서드로 이미지를 저장

반응형

댓글0