Python
수료증 만들기
by 헬로제이콥
2026. 1. 5.
#1 필요한 라이브러리 가져오기
from docx import Document #워드문서 생성
from docx.enum.text import WD_ALIGN_PARAGRAPH #정렬(중,오른쪽)
from docx.shared import Pt #글자크기(폰트)
from docx.oxml.ns import qn #한글폰트 (맑은고딕, 궁서체)
import openpyxl #엑셀파일 읽기 위한 라이브러리
#엑셀 파일열기 data.xlsx
wb = openpyxl.load_workbook('data.xlsx')
sheet = wb.active
#min_row=2 엑셀 2번째 줄 부터 읽어오기
#values_only= True 셀주소에서 실제 값만 가져옴
for row in sheet.iter_rows(min_row=2, values_only= True):
name, cert_num = row #엑셀의 각행에서 이름, 수료번호 변수에 할당
doc = Document() #워드문서 만들기
# level=0은 문서의 가장 큰 제목 스타일을 적용함
title = doc.add_heading('수료증',level=0)
title.alignment = WD_ALIGN_PARAGRAPH.CENTER # 제목을 가운데로 정렬
# doc.add_paragraph() #제목아래 빈줄 추가 (한줄여백)
# 2단계 수료번호넣기
num_para = doc.add_paragraph() # 새로운 문단 생성
num_para.alignment=WD_ALIGN_PARAGRAPH.RIGHT #오른쪽정렬
num_run = num_para.add_run(f"수료번호:{cert_num}") # 실제 텍스트 입력
num_run.font.size = Pt(12) # 번호 글자 크기를 13포인트로 설정
# doc.add_paragraph() #제목아래 빈줄 추가 (한줄여백)
# doc.add_paragraph() #제목아래 빈줄 추가 (한줄여백)
for _ in range(2):
doc.add_paragraph()
# 3단계: 수료 본문 문구 작성]
content_para = doc.add_paragraph()
content_para.alignment = WD_ALIGN_PARAGRAPH.CENTER # 요청에 따라 오른쪽 정렬
content_run = content_para.add_run('파이썬 과정을 수료 하였으므로 수료증을 발급합니다.')
content_run.font.size = Pt(16) # 본문 글자 크기를 16포인트로 설정
for _ in range(2):
doc.add_paragraph()
name_para = doc.add_paragraph()
name_para.alignment = WD_ALIGN_PARAGRAPH.CENTER # 이름은 중앙 정렬
name_run = name_para.add_run(f"수료자: {name}")
name_run.font.size = Pt(20) # 이름을 강조하기 위해 20포인트로 설정
name_run.bold = True # 글자를 굵게 설정
# [6단계: 발급 기관명 작성]
org_para = doc.add_paragraph()
org_para.alignment = WD_ALIGN_PARAGRAPH.CENTER # 기관명 중앙 정렬
org_run = org_para.add_run('한국소프트웨어협회')
org_run.font.size = Pt(24) # 기관명을 가장 크고 웅장하게(24포인트) 설정
org_run.bold = True # 글자를 굵게 설정
doc.save(f'수료증_{name}2.docx')
print(f'{name}님의 수료증 생성 완료')