반복적인 파워포인트 작업을 자동화하는 방법
매주 또는 매월 동일한 형식의 보고서
를 작성하거나, 수료증과 같은 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)
이 추가된 파워포인트 슬라이드를 확인해보세요.
아래 빈칸에 가장 적합한 코드는 무엇일까요?
Guidelines
AI Tutor
Publish
Design
Upload
Notes
Favorites
Help
Code Editor
Execution Result
The document is empty.
Try running the code.