[python] python-pptx 이미지 크롭(crop) 설정하기

python-pptx는 파이썬에서 PowerPoint 파일을 생성 및 편집할 수 있는 라이브러리입니다. 이 라이브러리를 사용하면 프레젠테이션에 이미지를 삽입하고, 텍스트를 추가하는 등 다양한 작업을 수행할 수 있습니다.

이번 포스트에서는 python-pptx를 사용하여 이미지를 크롭하는 방법을 알아보겠습니다. 이미지 크롭 기능은 이미지의 일부분을 제거하여 특정 영역을 강조하고자 할 때 유용합니다.

1. python-pptx 설치하기

먼저 python-pptx를 설치해야 합니다. 아래의 명령어를 사용하여 설치할 수 있습니다.

pip install python-pptx

2. 이미지 크롭하기

우선 python-pptx를 임포트해야 합니다.

from pptx import Presentation
from pptx.util import Inches

다음으로, 이미지가 있는 PowerPoint 파일을 열어야 합니다.

presentation = Presentation('example.pptx')

이미지가 들어있는 슬라이드의 인덱스를 지정합니다.

slide_index = 0
slide = presentation.slides[slide_index]

슬라이드에서 이미지를 찾아야 합니다. python-pptx에서 이미지는 shape 객체로 나타내며, 타입을 확인하여 이미지를 찾을 수 있습니다.

for shape in slide.shapes:
    if shape.shape_type == 13:  # 이미지 타입은 13
        image = shape
        break

이제 크롭을 설정하여 원하는 영역을 남기고 나머지 부분을 제거할 수 있습니다. crop_left, crop_top, crop_right, crop_bottom 매개변수를 사용하여 픽셀 단위로 크롭 영역을 지정합니다.

crop_left = Inches(1)
crop_top = Inches(1)
crop_right = Inches(2)
crop_bottom = Inches(2)
image.crop_left = crop_left
image.crop_top = crop_top
image.crop_right = crop_right
image.crop_bottom = crop_bottom

마지막으로, 수정된 PowerPoint 파일을 저장합니다.

presentation.save('modified.pptx')

위의 코드를 실행하면, ‘example.pptx’ 파일에서 첫 번째 슬라이드에 있는 이미지를 좌측 1인치, 상단 1인치, 우측 2인치, 하단 2인치로 크롭한 후 ‘modified.pptx’ 파일로 저장됩니다.

이와 같이 python-pptx를 사용하면 이미지를 크롭하는 작업을 쉽게 수행할 수 있습니다.

참고: python-pptx