inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피

폰트 설정 뒤 텍스트 입력이 안되는 문제

해결된 질문

269

윤병현

작성한 질문수 20

1

안녕하세요 일코님!

글자속성 부분 강의를 들으면서, 매크로로도 확인해서 함수를 작성해보았는데요.

 

먼저 텍스트 입력 함수입니다.

def 텍스트입력(text):
    hwp.HAction.GetDefault("InsertText", hwp.HParameterSet.HInsertText.HSet)
    hwp.HParameterSet.HInsertText.Text = text
    hwp.HAction.Execute("InsertText", hwp.HParameterSet.HInsertText.HSet)

 

그다음 폰트를 설정하는 함수입니다.

def 폰트설정(글꼴,크기):    
    hwp.HAction.GetDefault("CharShape", hwp.HParameterSet.HCharShape.HSet);
    hwp.HParameterSet.HCharShape.FaceNameUser = f"{글꼴}"
    hwp.HParameterSet.HCharShape.FontTypeUser = hwp.FontType("TTF")
    hwp.HParameterSet.HCharShape.FaceNameSymbol = f"{글꼴}"
    hwp.HParameterSet.HCharShape.FontTypeSymbol = hwp.FontType("TTF")
    hwp.HParameterSet.HCharShape.FaceNameOther = f"{글꼴}"
    hwp.HParameterSet.HCharShape.FontTypeOther = hwp.FontType("TTF")
    hwp.HParameterSet.HCharShape.FaceNameJapanese = f"{글꼴}"
    hwp.HParameterSet.HCharShape.FontTypeJapanese = hwp.FontType("TTF")
    hwp.HParameterSet.HCharShape.FaceNameHanja = f"{글꼴}"
    hwp.HParameterSet.HCharShape.FontTypeHanja = hwp.FontType("TTF")
    hwp.HParameterSet.HCharShape.FaceNameLatin = f"{글꼴}"
    hwp.HParameterSet.HCharShape.FontTypeLatin = hwp.FontType("TTF")
    hwp.HParameterSet.HCharShape.FaceNameHangul = f"{글꼴}"
    hwp.HParameterSet.HCharShape.FontTypeHangul = hwp.FontType("TTF")
    hwp.HParameterSet.HCharShape.Height = hwp.PointToHwpUnit(크기)
    hwp.HAction.Execute("CharShape", hwp.HParameterSet.HCharShape.HSet)

이렇게 하니까, 변경까지는 아주 잘 되는데,

 

변경후에 텍스트를 입력하면 커서만 깜빡이고 텍스트가 입력되질 않네요..

매크로로 해서 그런가 싶어서, 다시 일코님이 작성해주신 코드를 복붙해서 사용해보았는데

 

        charshape = hwp.XHwpDocuments.Item(0).XHwpCharacterShape
        charshape.Height = 5000  # 5000 HwpUnit = 50 pt
        charshape.Italic = True  # 이탤릭
        charshape.Bold = True  # 진하게
        charshape.ShapeNormal()  # 글자크기와 서체를 제외한 모든 속성 초기화

 

이코드도 동일하게 적용까지는 되는데,, 텍스트가 입력이 되지 않네요.
움짤로는 아래와 같습니다!

 


 

python 한컴오피스

답변 1

1

일코

이상하네요..

액션의 디폴트값을 추가로 지정해야 하거나,

현재 위치의 디폴트값이 문제가 있는 듯도 한데,

함수를 직접 지정하지 마시고

hwp.insert_text와 hwp.set_font 메서드를 사용해보시겠어요?

제법 오래 고민해서 만든 메서드인 만큼..

왠만한 경우에는 오류가 나지 않을 것입니다.

image

hwp.insert_text("폰트 설정 전에도 잘 되고\r\n")
hwp.set_font(Height=20, FaceName="함초롬돋움")
hwp.insert_text("폰트 설정 후에도 잘 됨\r\n")
hwp.set_font(Height=50, FaceName="나눔고딕")
hwp.insert_text("계속 잘 되어야 정상임\r\n")

 

hwp.set_font의 파라미터 목록은 아래를 참고해주세요.

image(출처 : blog.naver.com/pythonrpa)

1

윤병현

감사합니다!! 해결되었습니다.

섹션7과 같은 수학 수식을 백지에서 시작할 때 어떻게 만들 수 있을까요?

0

76

1

hwp 병렬 작업시 클립보드 충돌문제

0

59

1

본문을 각주로 내리는 법

1

93

1

한글 자동화 삽도 삽입!!

1

384

2

한글 표 내부 위치 찾는 코드좀 알려주세요 ㅠㅠ

1

233

2

빈 문서를 새로 열때는 팝업이 안나오는데 기존 문서를 열면 팝업이 나옵니다

1

118

2

사무실 컴퓨터ㅠ

0

96

2

글자입력 여러번 실행기

0

67

1

현재 커서 문단에 아무런 내용이 없는지 확인하기

1

103

1

특정 스타일을 찾아 이동하는 방법

1

164

2

한/글 파일 open 시 '상위 버전에서...' 메세지 안 뜨게 하는 방법?

1

1113

1

win32com 으로 hwp 문자열 검색하기 문의

1

222

2

[응용] 엑셀문서 값을 필드에 입력하기 질

1

123

1

표 병합하기 관련

0

140

0

메타태그 삽입 자동화

0

191

1

스크립트 매크로 초기화 하고 싶습니다.

1

272

2

한글 창이 여러 개 존재할 때 pyhwpx 모듈로 접근하는 방법을 알고 싶습니다.

1

271

1

표안의 특정 필드에 있는 이미지를 복사하여 한글 외부에 저장하기

1

275

2

스타일 싹 다 지우고 바탕글로 통일하는 방법 문의드립니다.

1

284

0

하위의 여러 폴더 중 특정폴더의 사진만 추출하기

1

346

2

한글 수식을 자동으로 넣는 코드를 만들었는데, 수식 사이의 간격이 계속 벌어집니다.

1

661

1

보유 특허 검색 페이지에서 검색이 되지 않습니다.

1

139

1

hwp 페이지별 분할 저장하는 코드 관련 문의

0

449

0

한글 문서에 사용된 폰트명 추출

1

647

1