전시회 참석자의 명찰을 파워포인트를 이용해서 만들려고 한다.
아래 구문은 기본 내용이고 확장은 텍스트 상자 입력 부분을 함수로 만들고 회사명/이름 부분을 for문 등을 활용해서 추가 구현하면 된다.
1. 마스터 슬라이드 생성
슬라이드에 직사각형 도형을 넣고 그 위에 텍스트 상자 2개를 위치하여 하나는 회사명, 나머지 하나는 참석자 이름을 입력
2. 우측상단 메뉴 "편집 > 선택 > 선택창" 클릭
3. 우측 선택창에서 회사명 텍스트 상자는 "comp", 이름 텍스트 상자는 "name"으로 변경 후 파일 저장
4. 실행 소스
from pptx import Presentation
from pptx.enum.text import PP_ALIGN
from pptx.util import Pt
# from pptx.enum.dml import MSO_THEME_COLOR
# from pptx.dml.color import RGBColor
# 마스터 슬라이드가 있는 파일 불러오기
prs = Presentation('test.pptx')
# 첫번쨰 슬라이드 (마스터 폼)
slide = prs.slides[0]
shape_list = slide.shapes
shape_idx = {}
# {'shape이름':'순번'}의 형태로 dict 생성
# {'직사각형 5': 0, 'comp': 1, 'name': 2}
for idx, value in enumerate(shape_list):
shape_idx[value.name] = idx
# 텍스트박스 이름
# 이름 : name
# 회사명 : comp
# 1. 이름 : name 처리
# 'name'이란 텍스트박스 shape 가져오기
shape = shape_list[shape_idx['name']]
tf = shape.text_frame
# 텍스트박스 내 글자 삭제
tf.clear()
# 텍스트 박스 문단 선택
para = tf.paragraphs[0]
# 중앙정렬
para.alignment = PP_ALIGN.CENTER
run = para.add_run()
# 텍스트 내용 정의
run.text = '꼰 대'
# 텍스트에 하이퍼링크 설정
# run.hyperlink.address = 'https://github.com/scanny/python-pptx'
font = run.font
# 폰트 크기 설정
font.size = Pt(44)
# 굵게(bold) 설정
font.bold = True
# 글꼴 설정 (맑은고딕)
font.name = 'Malgun Gothic'
# 기울림꼴(italic) 설정
# font.italic = True
# 폰트 색 설정 (import 주석 해제)
# 정의된 테마 색으로 정의
# font.color.theme_color = MSO_THEME_COLOR.ACCENT_1
# RGB값으로 정의
# font.color.rgb = RGBColor(0xFF, 0x7F, 0x50)
# 2. 회사명 : comp 처리
# 'comp'란 텍스트박스 shape 가져오기
shape = shape_list[shape_idx['comp']]
tf = shape.text_frame
tf.clear()
para = tf.paragraphs[0]
para.alignment = PP_ALIGN.CENTER
run = para.add_run()
run.text = '회사명 : 꼰대주식회사(주)'
font = run.font
font.size = Pt(18)
font.name = 'Malgun Gothic'
# 파일 저장
prs.save('test2.pptx')
5. 결과
'RPA > Python' 카테고리의 다른 글
[python-pptx] 슬라이드 삭제 (0) | 2021.05.09 |
---|---|
[python-pptx] 슬라이드 복사 (0) | 2021.05.09 |
[python-pptx] 도형 객체 삽입 (0) | 2021.05.08 |
[python-pptx] 슬라이드에 이미지 삽입 (0) | 2021.05.08 |
[python-pptx] 파일 내 모든 슬라이드의 텍스트 상자 내용 읽기 (0) | 2021.05.07 |