파이썬(Python)

[ 한글 자동화 ] 글자 크기 및 폰트(글자체), 진하게 설정하기

카루루1007 2022. 12. 30. 23:43
728x90
반응형
SMALL

한글 문서의 글자 크기 및 폰트를 설정하는 방법입니다.

먼저 앞선 포스팅을 보고 오시는 것을 추천드립니다. 

[ 한글 자동화 ] 한글 열기(실행하기), 편집 용지 설정하기 (tistory.com)

 

[ 한글 자동화 ] 한글 열기(실행하기), 편집 용지 설정하기

준 비 win32com.client 모듈을 사용해 한글을 실행하고 조작 import win32com.client as win32 한글 실행하기 한글을 실행하기위해서는 win32com.client 모듈의 Dispatch()를 사용합니다. hwp = win32.Dispatch("HWPFrame.HwpObje

karuru1007.tistory.com

 

프로그램을 통해 불러온 한글 파일만 설정이 가능합니다.

(직접 한글파일을 열면 수정이 불가합니다.)

앞선 포스팅을 보셨다면 

한글 빈문서를 실행하실 수 있을 것입니다.

 

빈 문서에 위 그림과 같이 [ 가나다 ]를 입력하고

해당 글자의 크기를 [ 22 ]로

폰트는 임의의 폰트를설정하는 코드입니다.

 

기본코드
act = hwp.CreateAction("CharShape")
set = act.CreateSet()
act.GetDefault(set)

<<코드작성>>

act.Execute(set)
 
저는 위 세 줄의 코드를 한글 자동화를 할 때 

그냥 외워서 기계적으로 사용하고 있습니다.

제가 이해한 내용으로 설명을 하면

첫번째 줄인 CreateAction() 은 내가 무엇을 할지 지정하는 함수이고

두번째 줄인 CreateSet() 은 내가 할 것을 어떻게 하겠다는 옵션을 넣을 박스를 만드는 것

세번째 줄인 GetDefault() 는 기본적인 옵션을 설정한다.

마지막 줄인 Execute() 는 실행하는 함수입니다.

저는 이렇게 이해하고 사용하고 있습니다.

 

빨간색 [ CharShape ]는 단어 그대로 [ 글자 모양 ]입니다.

즉 우리는 [ 글자 모양 ]을 설정할 것이다라고

지정한 것입니다.

 

이제 [ set 객체 ]를 통해 글자의 모양을 지정하면 됩니다.

반응형
옵션 지정하기

옵션을 지정하는 방법은 

위에서 선언한 set 객체를 통해 선언하면 됩니다.

아래는기본 코드입니다.

 set.SetItem("옵션명", 값)

파이썬은 대소문자를 구분하므로 대소문자를 잘 구분하여 작성하셔야 합니다.

 글꼴을 설정하는 주요 옵션명은 다음과 같습니다.

옵션명 내용
FaceNameHangul
한글 글꼴 설정
FaceNameLatin 영문 글꼴 설정
FaceNameHanja 한자 글꼴 설정
FaceNameJapanese 일본어 글꼴 설정
FaceNameOther 기타 글꼴 설정
FaceNameSymbol
심벌 글꼴 설정
FaceNameUser
사용자 글꼴 설정

 

한글을 열어 [ 글자 모양 ]에서 [ 언어 ]를 누르면 아래 그림과 같이 나타납니다.

[ 대표 ]를 제외한 언어를 설정하는 것으로 보입니다.

 

다음은 글자의 크기를 지정하는 옵션입니다. 

글자의 크기를 지정하는 옵션은 [ Height ]입니다.

 

다음은 글자의 진하기를 지정하는 옵션입니다.

글자의 진하기를 지정하는 옵션은 [ Bold ]입니다.

값을 [ 0 ]로 하면 진하지 않게

값을 [ 1 ]로 하면 진하게 합니다.

 

소스코드

옵션을 지정하는 소스코드는 다음과 같습니다.

set.SetItem("Height", hwp.PointToHwpUnit(18.0))
set.SetItem("FaceNameHangul", "글꼴명")
set.SetItem("FaceNameLatin", "글꼴명")
set.SetItem("Bold", 1)

HwpUnit() 를 잠시 설명하면

HwpUnit()은 한글에서 크기를 지정하는 함수입니다.

글자는 Point를 기본으로 하므로 PointToHwpUnit() 를 사용합니다.

 

저같은 경우는 간단하게 몇가지 글꼴과 크기를 지정해 놓고

기존 문서를 불러와 수정하거나 

새문서를 만들 때 

저의 취향대로 만들기 위해

몇가지 글꼴과 크기를 지정해 놓고 

편집하는데 사용하고 있습니다. 

728x90
반응형
LIST