[python] python-pptx 슬라이드(Slide) 클래스

python-pptx는 파이썬을 사용하여 PowerPoint(.pptx) 파일을 생성하고 편집할 수 있는 라이브러리입니다. 이 라이브러리를 사용하면 파이썬 코드를 통해 동적인 프레젠테이션 슬라이드를 만들 수 있습니다.

이번에는 python-pptx의 Slide(슬라이드) 클래스를 중심으로 사용법을 살펴보겠습니다.

Slide 클래스 소개

Slide 클래스는 프레젠테이션 슬라이드를 나타냅니다. 이 클래스를 사용하여 슬라이드에 텍스트, 이미지, 도형 등을 추가하고 편집할 수 있습니다.

Slide 객체 생성

Slide 객체는 Presentation 클래스를 통해 생성됩니다. 먼저 Presentation 객체를 생성한 후에 Slide 객체를 추가하면 됩니다.

from pptx import Presentation

# Presentation 객체 생성
presentation = Presentation()

# Slide 객체 추가
slide = presentation.slides.add_slide()

# 추가된 Slide 객체에 텍스트, 이미지, 도형 등을 추가하고 편집할 수 있습니다.

슬라이드 배경 설정

Slide 객체를 생성한 후에는 슬라이드의 배경을 설정할 수 있습니다. 배경은 테마(themes)와 레이아웃(layouts)을 기반으로 설정할 수 있습니다.

from pptx.enum.shapes import MSO_SHAPE

# 테마와 레이아웃으로 배경 설정
slide.background.style = presentation.slide_layouts[0].background.style

# 테마 색상으로 배경 설정
slide.background.fill.solid()

# 배경색 지정
slide.background.fill.fore_color.rgb = RGBColor(200, 200, 200)

# 이미지로 배경 설정
slide.background.fill.background()

# 도형으로 배경 설정
slide.background.fill.solid()
slide.background.fill.fore_color.rgb = RGBColor(255, 255, 255)
slide.shapes.add_shape(MSO_SHAPE.RECTANGLE, 0, 0, 100, 100)

슬라이드 내용 추가

Slide 객체에는 텍스트, 이미지, 도형 등을 추가할 수 있습니다.

from pptx.util import Inches

# 텍스트 추가
slide.shapes.add_textbox(Inches(0.5), Inches(1), Inches(8), Inches(4)).text_frame.text = "Hello, World!"

# 이미지 추가
slide.shapes.add_picture("image.jpg", Inches(1), Inches(1), Inches(4), Inches(3))

# 도형 추가
slide.shapes.add_shape(MSO_SHAPE.RECTANGLE, Inches(1), Inches(1), Inches(4), Inches(3))

# 텍스트박스에 글자 스타일 설정
text_box = slide.shapes.add_textbox(Inches(1), Inches(1), Inches(4), Inches(3))
text_frame = text_box.text_frame
text_frame.text = "Hello, World!"
text_frame.paragraphs[0].alignment = PP_ALIGN.CENTER

위의 예제 코드에서 Inches 함수는 인치 단위 값을 나타냅니다. add_textbox, add_picture, add_shape 함수를 사용하여 각각 텍스트, 이미지, 도형을 추가할 수 있습니다.

슬라이드 저장

Slide 객체를 편집한 후에는 저장할 수 있습니다.

presentation.save("output.pptx")

마치며

이번 포스팅에서는 python-pptx의 Slide 클래스를 사용하여 프레젠테이션 슬라이드를 만드는 방법에 대해 알아보았습니다. python-pptx를 사용하면 파이썬으로 동적인 프레젠테이션 슬라이드를 만들 수 있어 다양한 용도로 활용할 수 있습니다.

더 자세한 내용은 python-pptx 공식 문서를 참고하시기 바랍니다.