[python] python-pptx 동영상 효과 적용하기

Python을 사용하여 PowerPoint 프레젠테이션을 만들 때, 동영상 효과를 적용하고 싶을 수 있습니다. python-pptx 라이브러리는 Python에서 PowerPoint 파일을 다룰 수 있게 해주는 강력한 도구입니다.

이 블로그 포스트에서는 python-pptx 라이브러리를 이용하여 PowerPoint에 동영상을 삽입하고 효과를 적용하는 방법을 알아보겠습니다.

1. python-pptx 설치하기

먼저 python-pptx 라이브러리를 설치해야 합니다. 아래의 명령을 사용하여 설치할 수 있습니다.

pip install python-pptx

2. PowerPoint 파일 생성하기

python-pptx를 사용하기 위해 먼저 PowerPoint 파일을 생성해야 합니다. 아래의 코드를 사용하여 새로운 PowerPoint 파일을 만들 수 있습니다.

from pptx import Presentation

# Presentation 객체 생성
presentation = Presentation()

# 슬라이드 추가
slide = presentation.slides.add_slide(presentation.slide_layouts[0])

# 슬라이드에 동영상 파일 삽입
video_path = "video.mp4"
video = slide.shapes.add_movie(video_path, left=0, top=0, width=914400, height=514350)

# 동영상 재생 설정
video.play()

# 파일 저장
presentation.save("output.pptx")

위의 코드에서 video_path 변수에는 삽입하려는 동영상 파일의 경로를 지정해야 합니다.

3. 동영상 효과 적용하기

동영상에 효과를 적용하려면 python-pptx의 공식 문서를 참조하여 각각의 효과를 구현해야 합니다. 애니메이션, 타이밍, 시작 및 종료 조건 등 다양한 효과를 적용할 수 있습니다.

아래는 간단한 예시로 동영상을 페이드 인 효과로 시작하도록 구현한 코드입니다.

from pptx.util import Pt
from pptx.enum.shapes import MSO_ANCHOR, MSO_AUTO_SHAPE_TYPE
from pptx.dml.color import RGBColor

# 슬라이드 추가
slide = presentation.slides.add_slide(presentation.slide_layouts[0])

# 슬라이드 크기 설정
slide_width = presentation.slide_width
slide_height = presentation.slide_height

# 동영상 플레이어 크기 설정
player_width = int(slide_width * 0.8)
player_height = int(slide_height * 0.6)
player_left = int((slide_width - player_width) / 2)
player_top = int((slide_height - player_height) / 2)

# 플레이어 도형 생성
player_shape = slide.shapes.add_shape(MSO_AUTO_SHAPE_TYPE.RECTANGLE, player_left, player_top, player_width, player_height)

# 동영상 삽입 (위와 동일한 코드 사용)
video = slide.shapes.add_movie(video_path, left=player_left, top=player_top, width=player_width, height=player_height)

# 플레이어 페이드 인 효과 적용
player_shape.fill.solid()
player_shape.fill.fore_color.rgb = RGBColor(255, 255, 255)
player_shape.fill.transparency = 0.8

player_shape.animation_settings.trigger = MSO_ANCHOR.SLIDE_START

fade_in_effect = player_shape.animation_settings.add_effect(presentation.slide_master.slideshow_transition.cut, MSO_ANCHOR.SLIDE_START)
fade_in_effect.from_left = True

# 파일 저장
presentation.save("output.pptx")

위의 코드에서 fade_in_effect 객체를 사용하여 효과를 구현했습니다. 다양한 효과를 적용하려면 add_effect() 메서드에 다른 값들을 입력하면 됩니다.

이제 동영상 효과가 적용된 PowerPoint 파일을 열어보면 동영상이 재생되면서 효과가 나타나는 것을 확인할 수 있습니다.

결론

python-pptx 라이브러리를 사용하여 PowerPoint에 동영상 효과를 적용하는 방법에 대해 알아보았습니다. 이를 통해 Python을 활용하여 동영상 효과를 자유롭게 조작할 수 있습니다.

더 많은 효과와 기능을 적용하려면 python-pptx의 공식 문서를 참조하세요.