inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피

완성된 예제 미리보기

사진도 셀필드를 활용해서 자동화가 가능한가요?

667

이정웅
1

사진을 표에 넣는 경우가 많아서 자동화를 하고 싶습니다. 이 경우도 셀필드처럼 자동화가 가능한가요?

python 한컴오피스

답변 1

1

일코

특정 셀에 필드가 적용되어 있을 때는

hwp.PutFieldText를 이용하면 간편하게 텍스트를 넣을 수 있지만,

이미지를 삽입할 때에는 방식이 약간 다릅니다.

hwp.MoveToField(필드명)

으로 해당 셀로 캐럿을 옮기신 후에

hwp.InsertPicture(이미지경로, sizeoption=3)

위 방식으로 이미지를 삽입하시면 됩니다.

다만 위 API명령어 InsertPicture를 사용한 이미지삽입은

셀의 높이를 자동조절해주지 않습니다.

image

다소 번거롭지만

①미리 셀 높이를 조정해놓으신 상태로 sizeoption=3을 적용하시거나

②width와 height를 별도로 입력하시거나,

③아니면 아래 방법처럼 클립보드에 넣은 후에 Ctrl-V를 하게 하는 방식이 있습니다.

개인적으로는 ③번 방법을 가장 많이 사용합니다.

아래 함수를 참고하시기 바랍니다.

from io import BytesIO
import win32clipboard
from PIL import Image
import win32com.client as win32


def 클립보드로_이미지_삽입(파일경로):
    이미지 = Image.open(파일경로)
    아웃풋 = BytesIO()
    이미지.convert('RGB').save(아웃풋, 'BMP')
    최종데이터 = 아웃풋.getvalue()[14:]
    아웃풋.close()

    win32clipboard.OpenClipboard()
    win32clipboard.EmptyClipboard()
    win32clipboard.SetClipboardData(win32clipboard.CF_DIB, 최종데이터)
    win32clipboard.CloseClipboard()

    hwp.Run("Paste")

image

강의 연장 문의

0

53

0

강의연장 문의

0

53

0

예전 기출 강의도 반드시 봐야되나요??

0

128

1

챌린지 교재문의

1

116

1

학습 순서 문의드립니다

0

113

1

26년1회 실기 합격할수 있을까??ㅠㅠ

0

174

1

백준 서비스 종료

0

274

1

드뎌 석사 졸업합니다. ^^

0

253

1

질문이 있습니다

0

213

1

강의 연장이 될까요?

0

257

1

강의에 나오는 알고리즘이 코테에 많이 나오는건가요?

0

351

0

혹시 연장은 안되나요?

0

315

1