본문 바로가기
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}님의 수료증 생성 완료')