파이썬(Python)

[ 파이썬 한글 자동화 ] 지정한 범위의 텍스트 출력하기, 선택 범위 텍스트 출력

카루루1007 2024. 10. 14. 02:06
728x90
반응형

※ 실행 중인 한글 프로그램 객체 생성 : 실행 중인 한글(Hwp, Hwpx) 프로그램 조작하기

 

한글 문서에서 아래와 같이 선택한 범위의 텍스트를 

불러오는 방법입니다.

반응형

  사용 함수

 

한글과 컴퓨터의 공식 문서 중 HwpAutomation.pdf 파일을 보시면

InitScan() 함수와 GetText() 함수가 있습니다.

※ 해당 문서는 맨 위의 링크에 안내가 되어 있습니다.

 

이 두 함수를 사용하면 위 그림과 같이

선택한 범위의 텍스트 값을 가지고 올 수 있습니다.

 

InitScan() 함수문서 검색을 위한 준비에 필요

GetText() 함수텍스트를 얻을 때 필요합니다.

 

먼저 공식 문서를 보면

InitScan() 함수는 아래와 같이 되어있습니다.

첫 번째 인자는 찾을 대상으로 되어 있으며 저는 본문의 텍스트를 찾을 것이므로

0을 넣었습니다.

 

두 번째 인자는 검색 범위입니다.

선택된 범위에서 찾을 것이므로 아래와 같이 옵션을 지정합니다.

 

나머지 인자들은 공식문서를 참고해 보시기 바랍니다.

우선 본문에서 선택된 텍스트만 불러올 때는 필요가 없습니다.

 

InitScan() 함수 설명의 마지막 Remark를 보시면 아래와 같이 설명되어 있습니다.

문서의 검색 과정은 InitScan()으로 검색위한 준비 작업을 하고 GetText()를 호출하여 본문의 텍스트를 얻어온다. GetText()를 반복호출하면 연속하여 본문의 텍스트를 얻어올 수 있다. 검색이 끝나면 ReleaseScan()을 호출하여 관련 정보를 초기화 해 주면 된다.

 

이제 준비 작업이 끝났으므로, GetText() 함수를 호출하면 됩니다.

 

728x90

 코드 작성

 

hwp 객체를 생성하고 아래와 같이 작성하면 됩니다.

hwp.InitScan(0, 0x00ff,0,0,0,0)
hwp.GetText()

InitScan() 함수의 인자는 위에서 설명한 바와 같이 입력하였습니다.

 

맨 위의 그림과 같이 텍스트를 선택하고 실행하면 아래와 같이 출력됩니다.

(2, '사아자차카타파하')

출력결과 중 첫번째 값은 아래와 같습니다.

두 번째 값은 선택한 텍스트입니다.

 

만약 텍스트만 추출하고 싶다면 다음과 같이 코드를 작성하면 됩니다.

hwp.InitScan(0, 0x00ff,0,0,0,0)
output=hwp.GetText()
print(output[1])

 

표 안에 있는 텍스트도 추출이 가능합니다.

 

이런 방식으로 선택하고 출력해도 정상 출력이 됩니다.

여기를 방문하시면 더 많은 파이썬 관련 자료를 확인할 수 있습니다.

파이썬 공부하기

728x90
반응형