DoITgrow

python-docx 패키지에서 한글 폰트 적용하는 방법 본문

프로그래밍

python-docx 패키지에서 한글 폰트 적용하는 방법

김수성 (Kim SuSung) 2022. 3. 14. 21:21
반응형

들어가며

python-docx 패키지는 파이썬으로 Microsoft Word를 제어할 수 있는 툴입니다. 자세한 사용법은 패키지를 설명한 사이트에 들어가면 잘 정리되어 있으니 해당 사이트를 참고하시면 됩니다. 그러나 해외에서 제작한 패키지이다 보니 한글을 처리하기에는 많이 복잡합니다. 그래서 패키지에서 한글 폰트를 원하는 것으로 설정할 수 있는 방법에 대해 공유하고자 합니다.

한글 폰트 적용 방법

먼저 한글에 폰트가 적용되지 않는 이유는 영어와 한글의 다른 문자 체계 때문입니다. 기본적으로 한글은 eastAsia로 분류된다고 합니다. 따라서 python-docx 패키지에서 폰트를 적용하려면 기본적으로 어떤 문자 체계인지를 같이 알려줘야 됩니다.

from docx.oxml.ns import qn
import docx

doc = docx.Document()
para = doc.add_paragraph()
run = para.add_run('테스트')
run.font.name = '맑은 고딕'
run._element.rPr.rFonts.set(qn('w:eastAsia'), '맑은 고딕')

doc.save('test1.docx')

여기서 핵심은 위처럼 qn 함수를 불러와서 문자체계 정보와 함께 바꾸고 싶은 폰트를 전달해야 합니다.

오늘은 간단한 팁을 알려드렸고, 위와 같은 코드로 Word 문서 자동화를 해보면 재밌을 것 같네요.

반응형
Comments