정기예금 금리 현황표 작성하기 - 보고서 작성하기(레이아웃 설정)
먼저 페이지 크기 조정, 표준 단락 서식 정의 등 보고서 작성에 필요한 초기 설정을 완료하고, 보고서 제목을 입력해 봅시다. 비주얼 스튜디오 코드에서 새로운 파일을 생성하고, 파일명을 'step_3_1.py'로 지정합니다. 다음 코드를 입력한 후 대화형 창에서 실행하면 'output' 폴더에 'step_3_1docx' 파일이 생성됩니다.
from pathlib import Path
from docx import Document
from docx.enum.text import WD_LINE_SPACING
from docx.oxml.ns import qn
from docx.shared import Mm, Pt, RGBColor
from docx.styles.style import ParagraphStyle
from docx.text.run import Run
from step_1_1 import OUT_DIR # 이전에 작성한 모듈을 불러옵니다.
OUT_3_1 = OUT_DIR / f"{Path(__file__).stem}.docx"
def apply_font(arg: Run | ParagraphStyle, # 12
face: str = "Malgun Gothic", size_pt: int | None = None, # 13
is_bold: bool | None = None, rgb: str | None = None): # 14
if face is not None:
arg.font.name = face # 폰트 설정
for prop in ["asciiTheme", "cstheme", "eastAsia", # 17
"eastAsiaTheme", "hAnsiTheme"]: # 18
arg.element.rPr.rFonts.set(qn(f"w:{prop}"), face) # 한글 폰트 설정 # 19
if size_pt is not None: # 19
arg.font.size = Pt(size_pt) # 폰트 크기 설정
if is_bold is not None:
arg.font.bold = is_bold # 폰트 굵기 설정
if rgb is not None: # 24
arg.font.color.rgb = RGBColor.from_string(rgb) # 폰트 색상 설정("FFFFFF" 형식) # 25
def init_docx(): # 27
doc = Document() # Document 객체 생성
section = doc.sections[0] # 첫 번째 섹션(구역) 반환
section.page_width, section.page_height = Mm(210), Mm(297) # A4 페이지 크기 설정 # 30
section.top_margin = section.bottom_margin = Mm(20) # 위, 아래 여백 설정
section.left_margin = section.right_margin = Mm(12.7) # 왼쪽, 오른쪽 여백 설정 # 32
style = doc.styles["Normal"] # 표준("Normal") 단락 서식 설정
p_format = style.paragraph_format # 단락 서식 객체 반환 # 35
p_format.space_before = p_format.space_after = 0 # 단락 앞, 단락 뒤 간격 설정
p_format.line_spacing_rule = WD_LINE_SPACING.SINGLE # 줄 간격을 1줄로 설정
apply_font(style, size_pt=10) # 폰트 설정 # 38
doc.save(OUT_3_1) # 워드 파일로 저장
if __name__ == "__main__":
init_docx()
12~13 폰트를 설정하는 함수 apply_font()를 정의합니다. 매개변수 arg는 문자열(Run) 또는 (Paragraph Style), face에는 size_pt에는 폰트 크기, is_bold에는 굵은 서식 적용 여부, rgb에는 색상을 전달할 수 있습니다.
17~19 docx 패키지에서 한글 폰트를 사용하기 위해 필요한 설정입니다.
24~25 매개변수 rgb에 저장된 색상을 폰트에 적용합니다.
27 새로운 워드 파일을 생성하고 크기, 여백, 단락 서식, 폰트를 설정하는 함수 init_docx()를 정의합니다.
30~32 문서 크기를 A4(210X297) 사이즈로 설정하고 상하좌우에 여백을 설정합니다.
35~38 단락 서식은 '표준', 단락 앞뒤의 간격 0, 줄 간격은 1로 설정합니다.
'프로그래밍 언어 > Python' 카테고리의 다른 글
| 주요 금리지표 데이터 입력하기 (0) | 2026.05.20 |
|---|---|
| 정기예금 금리 현황표 작성하기 - 보고서 작성하기(제목 입력) (0) | 2026.05.17 |
| 금리지표 데이터 시각화하기 (0) | 2026.05.11 |
| 주요 금리지표 데이터 수집하기 (0) | 2026.05.08 |
| 금융감독원 API로 데이터 수집하기 (0) | 2026.05.05 |