
* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.
* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.
1차 word 생성 시 폰트가 없어서 깨지는 현상을 바로 잡기 위해 폰트를 설치해서 바로잡는 과정입니다.
근데 2차 word 생성 시 폰트 설치가 됐음에도 깨지는 현상이 있는데 바로잡는 법이 있을까요?
아니면 이유가 따로 있을까요?
코드는 읽을 줄 몰라 일단 넣어 봤습니다.

작성한 코드 및 에러 메세지 - python
from docx.shared import Pt
from docx.oxml.ns import qn
from docx.shared import RGBColor
from docx import Document
# Load the NanumGothic font
font_path = '/mnt/data/NanumGothic.ttf'
# Function to set the font for a run in a document
def set_font(run, font_name):
run.font.name = font_name
run._element.rPr.rFonts.set(qn('w:eastAsia'), font_name)
# Create a new Word document
doc = Document()
# Title
title = doc.add_heading('신차 기획 보고서: 현대자동차 신규 전기 SUV 개발 계획', 0)
set_font(title.runs[0], 'NanumGothic')
# Section 1: EV 생산 비중, 판매량과 판매목표
doc.add_heading('1. EV 생산 비중, 판매량과 판매목표', level=1)
table = doc.add_table(rows=5, cols=4)
table.style = 'Table Grid'
# 표 내용
headers = ["항목", "2023년", "2026년", "2030년"]
data = [
["글로벌 EV 생산 비중", "8%", "18%", "34%"],
["유럽 EV 생산 비중", "7%", "30%", "54%"],
["미국 EV 생산 비중", "0.7%", "37%", "75%"],
["한국 EV 생산 비중", "14%", "24%", "48%"]
]
# Fill table headers and data
for i, header in enumerate(headers):
cell = table.cell(0, i)
cell.text = header
set_font(cell.paragraphs[0].runs[0], 'NanumGothic')
for i, row in enumerate(data, 1):
for j, val in enumerate(row):
cell = table.cell(i, j)
cell.text = val
set_font(cell.paragraphs[0].runs[0], 'NanumGothic')
doc.add_paragraph('글로벌 EV 판매량: 21만 대 (2023년), 200만 대 (2030년 목표)\n전기차 판매 목표: 2030년 200만 대')
# Section 2: 내용 요약
doc.add_heading('2. 내용 요약', level=1)
summary = doc.add_paragraph('현대자동차는 2023년 글로벌 전기차 생산 비중 8%에서 2030년 34%로 확대하며, 전기차 판매 목표를 200만 대로 설정했습니다.')
set_font(summary.runs[0], 'NanumGothic')
# Section 3: 전기차 신차를 출시해야 하는 이유
doc.add_heading('3. 전기차 신차를 출시해야 하는 이유 (5가지)', level=1)
reasons = doc.add_paragraph('''
1. 환경 규제 대응: 주요 국가의 강화된 CO2 배출 규제를 충족하기 위해 전기차 출시가 필요합니다.
2. 탄소중립 목표: 2045년 탄소중립 목표 달성을 위해 전기차 라인업 확대가 필수적입니다.
3. 시장 점유율 확대: 전기차 수요 증가에 따라 시장 점유율을 확보하고 유지하기 위해 신차 출시가 필요합니다.
4. 기술 혁신: 전기차 기술의 지속적인 발전과 경쟁력 강화를 위해 신차 출시가 필수적입니다.
5. 소비자 기대: CO2 배출 감소에 대한 소비자 기대를 충족시키기 위해 전기차 신차 출시가 필요합니다.
''')
set_font(reasons.runs[0], 'NanumGothic')
# Section 4: 현대차 아이오닉5와 기아차 EV6 비교 분석
doc.add_heading('4. 현대차 아이오닉5와 기아차 EV6 비교 분석', level=1)
# 성능 비교 표 생성
table = doc.add_table(rows=6, cols=3)
table.style = 'Table Grid'
# 표 내용
headers = ["항목", "현대차 아이오닉5", "기아차 EV6"]
data = [
["배터리 용량", "77.4 kWh", "84.0 kWh"],
["1회 충전 주행 거리", "약 480 km", "최대 494 km"],
["최고 출력", "225 kW", "239 kW"],
["최대 토크", "605 Nm", "605 Nm"],
["0-100 km/h 가속 시간", "약 5.2초", "약 5.2초"]
]
# Fill table headers and data
for i, header in enumerate(headers):
cell = table.cell(0, i)
cell.text = header
set_font(cell.paragraphs[0].runs[0], 'NanumGothic')
for i, row in enumerate(data, 1):
for j, val in enumerate(row):
cell = table.cell(i, j)
cell.text = val
set_font(cell.paragraphs[0].runs[0], 'NanumGothic')
# 장단점 비교 표 생성
doc.add_paragraph('\n장단점 비교')
table = doc.add_table(rows=3, cols=3)
table.style = 'Table Grid'
# 표 내용
headers = ["항목", "현대차 아이오닉5", "기아차 EV6"]
data = [
["장점", "혁신적 디자인, 편리한 충전 인프라", "긴 주행 거리, 고성능"],
["단점", "주행 거리 다소 짧음", "높은 가격"]
]
# Fill table headers and data
for i, header in enumerate(headers):
cell = table.cell(0, i)
cell.text = header
set_font(cell.paragraphs[0].runs[0], 'NanumGothic')
for i, row in enumerate(data, 1):
for j, val in enumerate(row):
cell = table.cell(i, j)
cell.text = val
set_font(cell.paragraphs[0].runs[0], 'NanumGothic')
# Section 5: 신차에 적용할 좋은 부분들과 개선점
doc.add_heading('5. 신차에 적용할 좋은 부분들과 개선점', level=1)
good_parts = doc.add_paragraph('적용할 좋은 부분들:')
set_font(good_parts.runs[0], 'NanumGothic')
good_parts.add_run('- 기아차 EV6의 긴 주행 거리: 배터리 효율성을 높여 신차의 주행 거리를 최대한 확대.\n')
good_parts.add_run('- 현대차 아이오닉5의 혁신적 디자인: 외관과 실내 디자인에서 창의적인 요소를 반영.')
set_font(good_parts.runs[1], 'NanumGothic')
set_font(good_parts.runs[2], 'NanumGothic')
improvements = doc.add_paragraph('\n개선할 부분들:')
set_font(improvements.runs[0], 'NanumGothic')
improvements.add_run('- 주행 거리: 경쟁사보다 높은 주행 거리 달성을 위해 배터리 효율성을 강화.\n')
improvements.add_run('- 가격 경쟁력: 생산 비용 절감과 배터리 기술 개발로 소비자들에게 더 합리적인 가격 제시.')
set_font(improvements.runs[1], 'NanumGothic')
set_font(improvements.runs[2], 'NanumGothic')
# Section 6: 신차의 매출 기대 효과
doc.add_heading('6. 신차의 매출 기대 효과', level=1)
expectation = doc.add_paragraph('신차는 EV 시장 성장에 힘입어 연간 약 50만 대 이상의 판매를 목표로 하며, 이는 현대차의 글로벌 시장 점유율을 확대하고 매출 증대에 기여할 것입니다.')
set_font(expectation.runs[0], 'NanumGothic')
# Section 7: 결론
doc.add_heading('7. 결론', level=1)
conclusion = doc.add_paragraph('''
현대차의 신규 전기 SUV는 아이오닉5와 EV6의 장점을 결합하여 성능과 디자인을 강화한 모델입니다.
이를 통해 글로벌 전기차 시장에서 경쟁력을 확보하고 매출 성장에 긍정적인 영향을 미칠 것입니다.
''')
set_font(conclusion.runs[0], 'NanumGothic')
# Save the document
file_path_with_font = "/mnt/data/Hyundai_EV_SUV_Report_with_NanumGothic.docx"
doc.save(file_path_with_font)
file_path_with_font
