반복적인 파워포인트 작업을 자동화하는 방법
매주 또는 매월 동일한 형식의 보고서
를 작성하거나, 수료증과 같은 PPT 템플릿에 데이터만 다르게 채워 넣은 경험
이 있으신가요?
슬라이드를 일일이 수정하거나 반복 작업을 하다보면 불필요한 시간이 소요되고, 실수를 범할 수 있습니다.
python-pptx
는 이러한 PPT 반복 작업을 자동화하는 파이썬 라이브러리입니다.
이번 수업에서는 python-pptx를 활용해 간단한 PPT 슬라이드를 만드는 방법을 알아보겠습니다.
참고 : 실습 코드를 컴퓨터에서 실제로 실행하려면,
pip install python-pptx
명령어로 python-pptx 라이브러리를 설치해야 합니다.
파이썬 코드로 PPT 슬라이드를 생성하는 방법
먼저 간단한 프레젠테이션을 만들며 python-pptx
라이브러리의 기본적인 사용 방법을 알아보겠습니다.
python-pptx
라이브러리를 불러올 때는 from pptx import {클래스 또는 함수}
형식으로 필요한 클래스 또는 함 수를 불러옵니다.
아래 코드 예제에서는 파워포인트 파일 객체를 만들고, 슬라이드에 간단한 텍스트를 추가합니다.
# python-pptx 라이브러리 불러오기
from pptx import Presentation
# 새로운 프레젠테이션 객체 생성
prs = Presentation()
# 첫 번째 슬라이드 추가
slide_content = prs.slides.add_slide(prs.slide_layouts[1])
# 첫 번째 슬라이드의 제목 선택
title_content = slide_content.shapes.title
# 슬라이드 내 본문 선택 (2번째 플레이스홀더)
content = slide_content.placeholders[1]
# 선택한 제목에 텍스트 추가
title_content.text = "안녕하세요"
# 플레이스홀더로 선택한 본문에 텍스트 추가
content.text = "코드프렌즈입니다"
# 프레젠테이션 파일 저장
prs.save("output_file.pptx")
placeholders
는 슬라이드 레이아웃 내에 미리 정의된 공간, 즉 플레이스홀더
를 참조하는 속성입니다.
플레이스홀더는 제목, 부제목, 본문, 이미지, 표 등 슬라이드 내의 특정 위치에 존재하는 콘텐츠 상자입니다.
placeholders[1]
은 2번째 플레이스홀더를 의미하며, 파워포인트 슬라이드 레이아웃에 따라 다양한 형태의 콘텐츠가 포함될 수 있습니다.
위 코드를 실행하면 output_file.pptx
라는 이름의 파워포인트 파일이 생성됩니다.
파일을 열어보면 첫 번째 슬라이드에 "제목"과 "본문"이 추가된 것을 확인할 수 있습니다.
코드 설명
prs = Presentation()
python-pptx는 Presentation()
메서드를 사용해 새로운 파워포인트 파일 객체를 생성합니다.
slide_content = prs.slides.add_slide(prs.slide_layouts[1])
그리고 slides.add_slide()
를 사용해 파워포인트 파일 객체 내 슬라이드를 추가합니다.
add_slide 메서드 안에 들어가는 인자인 prs.slide_layouts[1]
은 슬라이드 레이아웃을 나타냅니다.
PowerPoint는 여러 가지 표준 레이아웃을 제공하며, slide_layouts[1]
은 제목 상자와 본문 내용을 넣을 수 있는 콘텐츠 상자가 포함된 레이아웃입니다.
# 첫 번째 슬라이드의 제목 선택
title_content = slide_content.shapes.title
# 첫 번째 슬라이드의 본문 선택
content = slide_content.placeholders[1]
# 선택한 제목에 텍스트 추가
title_content.text = "안녕하세요"
# 선택한 본문에 텍스트 추가
content.text = "코드프렌즈입니다"
slide_content
변수에 첫 번째 슬라이드를 추가하고, slide_content.shapes.title
을 사용해 제목 상자를 선택합니다.
shapes는 슬라이드 내 모든 객체를 나타내며, 슬라이드 내 객체 중 title은 제목 상자를 의미합니다.
slide_content.placeholders[1]
은 본문 내용을 넣을 수 있는 콘텐츠 상자를 선택합니다.
placeholders는 슬라이드 레이아웃 내에 미리 정의된 공간, 즉 플레이스홀더를 참조하기 위한 속성입니다.
플레이스홀더는 제목, 부제목, 본문, 이미지, 표 등 다양한 형태의 콘텐츠를 포함할 수 있는 슬라이드 내의 특정 위치에 존재하는 텍스트 상자나 콘텐츠 상자입니다.
prs.save("output_file.pptx")
마지막으로 save
메서드는 프레젠테이션 객체로 생성한 파워포인트 파일을 저장합니다.
실습
코드를 실행하고 제목(title)
과 본문(content)
이 추가된 파워포인트 슬라이드를 확인해보세요.
다음 내용이 궁금하다면?
코드프렌즈 PLUS 멤버십 가입 or 강의를 등록해 주세요!