반복적인 파워포인트 작업을 자동화하는 방법
매주 또는 매월 동일한 형식의 보고서
를 작성하거나, 수료증과 같은 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)
이 추가된 파워포인트 슬라이드를 확인해보세요.
아래 빈칸에 가장 적합한 코드는 무엇일까요?
가이드라인
AI 튜터
배포
디자인
업로드
수업 노트
즐겨찾기
도움말
코드 에디터
실행 결과
문서가 비어 있습니다.
코드를 실행해보세요.