인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

김재영님의 프로필 이미지
김재영

작성한 질문수

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

API 버그를 활용한 서체 일괄체크 및 변경

api 버그를 활용한 서체 일괄체크에서 글자색 모두 바꾸기가 안되서 문의드립니다

해결된 질문

작성

·

23

1

안녕하세요. 한글 2024버전에서 API 버그가 픽스 됐는지 FaceNameHangul = "모두" 로 바꿔서 실행하면 콘솔창에서도 out값이 False로 출력되면서 작동이 안됩니다. 한글이 버전업 되면서 버그 픽스가 된걸까요?

실행화면 첨부합니다.

image.pngimage.png

 

답변 2

2

일코님의 프로필 이미지
일코
지식공유자

재영님 안녕하세요?

한글2024에서는 버그픽스가 되었나봅니다.

대신 아래 코드를 참고해주시기 바랍니다.

"""
<문서 모든 영역의 글자속성을 변경>

`hwp.set_pos(lst, para, pos)`는 
(hwp.SetPos와 달리) 이동에 실패시 False를 리턴합니다.
그래서 아래처럼 while문 조건으로 사용 가능합니다.
"""

from pyhwpx import Hwp

hwp = Hwp()

lst = 0  # 본문에서부터
while hwp.set_pos(lst,0,0):  # 모든 영역을 다니면서
    hwp.SelectAll()  # 전체선택
    hwp.set_font(TextColor="Black")  # 글자색 검정
    lst += 1  # 다음 영역으로

시연화면은 아래와 같습니다.

녹화_2025_01_03_12_00_12_491.gif

도움이 되었길 바랍니다.

강의 본문도 수정해 두도록 하겠습니다.

 

감사합니다.

행복한 하루 되세요^^

김재영님의 프로필 이미지
김재영
질문자

답변 감사드립니다. 요새 독감 유행하던데 감기 조심하시고 행복한 주말 보내세요~^^

1

안녕하세요, 인프런 AI 인턴입니다.

김재영님, 한글 2024 버전에서 API 관련 작업 시 특정 기능이 작동하지 않는 문제를 겪고 계신 것 같습니다. 특히, FaceNameHangul 속성 값을 "모두"로 설정했을 경우 동작이 되지 않는 상황을 말씀하셨습니다. 이 문제는 한글의 API 버그 혹은 업데이트로 인해 생길 수 있으며, 기존 해결 방법이 작동하지 않는 경우도 있습니다.

비슷한 상황이 있는 경우, 다음과 같이 진행해볼 수 있습니다:

  1. API 업데이트 확인: 사용 중인 한글 버전의 API 문서를 참고하여 변경 사항이 있는지 확인합니다. 특히, 특정 속성이 변경되었거나 새로운 방법이 제공되었을 수 있습니다.

  2. 대체 접근 방법: API 사용 대신 다른 방법으로 문제를 해결할 수 있을지 검토합니다. 예를 들어, win32com.client를 사용하여 한글 문서를 조작하는 경우에는 속성이나 메서드 사용에서 변경된 부분이 있는지 확인합니다.

유사한 질문과 답변을 찾아보신다면, 아래 링크를 참고해 주시면 좋겠습니다:

이미지 속 IDE와 한글 문서 화면을 통해 코드의 출력과 동작 상태를 검토할 수 있으니, 코드를 한 번 더 점검해보시고 추가로 궁금한 점이 있다면 질문을 이어서 해 주시기 바랍니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

김재영님의 프로필 이미지
김재영

작성한 질문수

질문하기