Type something to search...

03 PPT작성

1. 파이썬 가상환경 실행 & 활성화

Terminal window
1
.venv\Scripts\activate

2. 라이브러리 설치

  1. 터미널에 아래의 명령어를 입력한다.
Terminal window
1
pip install python-pptx
  1. 설치중 아래와 같은 메시지가 뜨면 파이썬을 업데이트 하고 재설치 한다 alt text 2-1. python.exe -m pip install --upgrade pip

3. 오피스 테마 레이아웃 적용하기

4. 응용하기

4.1. 객체선언

  • 라이브러리를 import하고, 객체를 선언
1
from pptx import Presentation # 라이브러리
2
from pptx.util import Inches # 사진, 표 등을 그리기 위해
3
prs = Presentation() # 파워포인트 객체 선언

4.2. 제목 슬라이드

  • 제목 슬라이드 추가
1
title_slide_layout = prs.slide_layouts[0] # 0 : 제목 슬라이드에 해당
2
slide = prs.slides.add_slide(title_slide_layout) # 슬라이드 추가
3
# 제목 - 제목에 값넣기
4
title = slide.placeholders[0] # 제목
5
title.text = "안녕하세요!" # 제목에 값 넣기
6
# 부제목
7
subtitle = slide.placeholders[1] # 제목 상자는 placeholders[0], 부제목 상자는 [1]
8
subtitle.text = "파이썬으로 생성한 PPT!"
9
# 저장
10
prs.save('파이썬.pptx')
  • 결과 : 파이썬.ppt 파일이 생성되었으며 타이틀이 작성되었다 alt text

  • 01~02행: prs.slide_layouts[0]에서 0은 제목 슬라이드를 의미하며, 해당 레이아웃을 추가한다.

  • 05~06행: 제목 슬라이드의 레이아웃(0)의 경우는 [그림 4-2]에서 알 수 있듯이, 두 가지 placeholder가 있다. 첫 번째는 제목을 의미하며, 두 번째는 부제목을 의미한다. slide.placeholders[0]에서 0은 제목을 의미하며,제목의 값을 “Hello, World!”로 설정한다.

  • 09~10행: 두 번째 placeholder는 부제목을 의미하며, 부제목에 “python-pptx was here!” 값을 설정한다.

  • 13행: 파일을 저장한다.

4.3. 제목 및 내용 슬라이드

  • 열려있는 ppt문서는 닫는다
1
bullet_slide_layout = prs.slide_layouts[1] # 1 : 제목 및 내용 슬라이드
2
slide = prs.slides.add_slide(bullet_slide_layout) # 기존에 있던 슬라이드에 추가
3
4
# 제목
5
title_shape = slide.placeholders[0]
6
title_shape.text = '목차기호 추가한 문'
7
8
# 내용
9
body_shape = slide.placeholders[1]
10
tf = body_shape.text_frame
11
tf.text = '목차있는 문단목록'
12
# 단락 추가
13
p = tf.add_paragraph()
14
p.text = '첫번째 목차를 적용한 문단'
15
p.level = 1 # 1 : 들여쓰기 레벨
16
# 단락 추가
17
p = tf.add_paragraph()
18
p.text = '두번째 목차를 적용한 문단'
19
p.level = 2 # 2 : 들여쓰기 레벨
20
# 저장
21
prs.save('파이썬.pptx')
  • 01~02행: prs.slide_layouts[1]에서 1은 제목 및 내용 슬라이드를 의미하며, 해당 레이아웃을 추가한다.
  • 05~06행: 제목과 내용 슬라이드의 레이아웃(1)의 경우는 [그림 4-2]에서 알 수 있듯이, 두 가지 placeholder가 있다. 첫 번째는 제목을 의미하며, 두 번째는 내용을 의미한다. slide.placeholders[0]에서 0은 제목을 의미하며, 제목의 값을 ‘Adding a Bullet Slide’로 설정한다.
  • 09~11행: 두번째 placeholder는 내용을 의미하며, ‘Find the bullet slide layout’ 값을 설정한다.
  • 14~16행: add_paragraph 함수를 호출하여 단락을 추가한다. p.level로 들여쓰기 레벨을 설정할 수 있다.
  • 19~21행: add_paragraph 함수를 호출하여 단락을 또 추가한다. 그리고 들여쓰기 레벨을 2로 설정한다.

4.4. 사진 슬라이드

이미지다운로드
  1. 이미지를 내려받아 프로젝트 폴더에 저장한다.
  2. 새 문서로 작업할때는 라이브러리를 임포트 해야한다.
1
from pptx import Presentation # 라이브러리
2
from pptx.util import Inches # 사진, 표 등을 그리기 위해
3
prs = Presentation() # 파워포인트 객체 선언
  1. 아래 코드를 작성후 실행한다.
1
img_path = './1.jpg'
2
blank_slide_layout = prs.slide_layouts[6] # 6 : 제목/내용이 없는 '빈' 슬라이드
3
slide = prs.slides.add_slide(blank_slide_layout)
4
left = top = Inches(1)
5
width = height = Inches(1)
6
# width, hegith가 없을 경우 원본 사이즈로
7
pic = slide.shapes.add_picture(img_path, left, top, width=width,height=height)
8
left = Inches(3)
9
width = Inches(5.5)
10
height = Inches(4)
11
pic = slide.shapes.add_picture(img_path, left, top, width=width,height=height)
12
prs.save('이미지.pptx')

  • 01행: 슬라이드에 삽입하고 싶은 이미지 파일을 설정한다.
  • 03~04행: prs.slide_layouts[6]에서 6은 빈 슬라이드를 의미한다.
  • 06~09행: add_picture() 함수를 호출하여 이미지를 추가한다. 이미지의 경우 위치와 크기 설정이 필요하다. top과 left는 시작 위치를 width와 height는 이미지의 크기를 의미한다.
  • 11~14행: add_picture() 함수를 호출하여 이미지를 추가하는데, 기존보다 크게 추가한다.

  1. 완성화면 alt

4.5. 표 슬라이드

  1. 기존의 코드에 이어서 작성한다.
1
title_only_slide_layout = prs.slide_layouts[5]
2
slide = prs.slides.add_slide(title_only_slide_layout)
3
shapes = slide.shapes
4
title_shape = slide.placeholders[0]
5
title_shape.text = '테이블생성'
6
rows = cols = 2
7
left = top = Inches(2.0)
8
width = Inches(6.0)
9
height = Inches(0.8)
10
table = shapes.add_table(rows, cols, left, top, width, height).table
11
# set column widths
12
table.columns[0].width = Inches(2.0)
13
table.columns[1].width = Inches(4.0)
14
# write column headings
15
table.cell(0, 0).text = '제목1'
16
table.cell(0, 1).text = '제목2'
17
# write body cells
18
table.cell(1, 0).text = '내용1'
19
table.cell(1, 1).text = '내용2'
20
prs.save('이미지.pptx')

alt

참고

  • 01~02행: prs.slide_layouts[5]에서 5는 ‘제목만’ 슬라이드를 의미한다.
  • 05~06행: 제목을 의미하는 placeholder에 ‘Adding a Table’을 설정한다.
  • 08~13행: add_table() 함수를 호출하여 표를 추가한다. 표는 몇 행, 몇 열로 만들 것인지와 위치, 크기를 설정 한다. rows와 cols를 2로 설정하여 2행 2열의 표를 만든다.
  • 16~17행: 칼럼 크기를 설정한다.
  • 20~25행: 표의 각 cell에 값을 설정한다. table.cell(행, 열)이다.