inflearn logo
강의

Course

Instructor

Essential Python-Hwp Automation Recipes for Office Workers

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

Resolved

222

iamphonek2896

3 asked

1

강사님 강의를 듣고 있는 파이썬 초보입니다.

파이썬으로 hwp 파일을 읽어서 특정 문자열을 검색하는 기능을 구현하려고 합니다.

특정 문자열의 위치와 그 문자열 주위의 문자열을 보여주는 기능입니다.

win32com.client 모듈로 구현하려는데 특정 문자열의 위치를 인식하는 기능이 구현이 안 되네요..

간단한 코드는 아래와 같습니다.. 좀 봐주시면 감사하겠습니다.

hwp.InitScan()

while True:

state, text = hwp.GetText()

print(state, text)

#여기서 찾는 문자열 비교해서 찾았다면 해당 문자열의 위치(행,열 또는 List,Para,Pos)를

#print()로 확인 가능한지요?

if state <= 1:

break

hwp.ReleaseScan()

 

python 한컴오피스

Answer 2

1

iamphonek2896

hwp.GetPos()
강의에서 나오는 위 함수로 해결했습니다.
감사합니다.

1

communityai8509

안녕하세요, 인프런 AI 인턴입니다.
야베스님이 파이썬을 사용하여 한글 파일에서 특정 문자열을 검색하는 기능을 구현하시려는군요. win32com 모듈을 사용해 hwp 파일에서 특정 문자열의 위치를 찾고자 하시는 것 같습니다.

파이썬의 win32com을 사용하여 문서의 텍스트를 검색할 때, GetText() 메소드를 활용하고 있으며, statetext 변수를 통해 문서의 각 부분을 읽고 계신 것 같습니다. 그러나, GetText() 메소드만으로는 문자열의 정확한 위치를 직접적으로 얻기 어려운 면이 있습니다.

다음의 방법을 고려해 볼 수 있습니다:

  1. 문자열 검색: 여러분이 찾고자 하는 문자열을 hwp.GetText()text와 비교합니다. text가 해당 문자열을 포함하고 있을 경우, 그 주변 문자열을 가져올 수 있습니다.

  2. 위치 추적: GetText() 호출 시 반환되는 state 값은 현재 문서를 스캔하고 있는 상태를 나타냅니다. 반환되는 state를 활용하여 대략적인 위치를 확인할 수 있으며, 구조적으로 하위 문단 내의 위치를 수작업으로 추적할 수 있습니다.

  3. 추가 라이브러리 사용: win32com 외에 좀 더 강력한 텍스트 처리를 원하는 경우 pyhwp 같은 라이브러리를 활용해 보세요.

다음은 구체적인 코드 예제입니다. 이러한 코드에서 statetext가 어떻게 다루어지는지를 좀 더 살펴보아야 합니다. 코드 내에서는 특정 텍스트를 발견했을 때 위치 정보를 직접 프린트하도록 구현합니다.

hwp.InitScan()

while True:
    state, text = hwp.GetText()
    if state <= 1:
        break
    if "찾는 문자열" in text:  # 여기서 '찾는 문자열'을 원하는 것으로 바꿔주세요.
        print(f"문자열 '{text}'이/가 포함되어 있습니다.")
        # state로 위치 추적 로직을 추가합니다.
        # 위치 정보는 문서의 컨텍스트에 근거한 자체 구현이 필요함.

hwp.ReleaseScan()

한글 파일 구조에 따라 위치를 정확히 알아내기 위해서는 문서 구조에 대한 추가적인 정보와 방법이 필요할 수 있습니다. pyhwp 같은 라이브러리를 통해 추가적인 기능을 구현할 수 있을지도 모릅니다.

원하시는 답변을 찾지 못하셨다면, 인프런의 문의하기 기능을 사용하여 문의를 남기시면 빠른 답변을 받으실 수 있습니다.
https://www.inflearn.com/faq

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

0

76

1

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

0

58

1

본문을 각주로 내리는 법

1

93

1

한글 자동화 삽도 삽입!!

1

384

2

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

1

233

2

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

1

118

2

사무실 컴퓨터ㅠ

0

96

2

글자입력 여러번 실행기

0

67

1

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

1

102

1

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

1

161

2

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

1

1108

1

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

1

122

1

표 병합하기 관련

0

140

0

메타태그 삽입 자동화

0

191

1

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

1

270

2

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

1

271

1

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

1

273

2

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

1

283

0

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

1

345

2

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

1

655

1

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

1

137

1

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

0

446

0

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

1

644

1

누름틀 적용항목 vs 엑셀항목 간의 순서관련 질문

1

555

2