※ 실행 중인 한글 프로그램 객체 생성 : 실행 중인 한글(Hwp, Hwpx) 프로그램 조작하기
한글 문서에서 아래와 같이 선택한 범위의 텍스트를
불러오는 방법입니다.
사용 함수
한글과 컴퓨터의 공식 문서 중 HwpAutomation.pdf 파일을 보시면
InitScan() 함수와 GetText() 함수가 있습니다.
※ 해당 문서는 맨 위의 링크에 안내가 되어 있습니다.
이 두 함수를 사용하면 위 그림과 같이
선택한 범위의 텍스트 값을 가지고 올 수 있습니다.
InitScan() 함수는 문서 검색을 위한 준비에 필요
GetText() 함수는 텍스트를 얻을 때 필요합니다.
먼저 공식 문서를 보면
InitScan() 함수는 아래와 같이 되어있습니다.
첫 번째 인자는 찾을 대상으로 되어 있으며 저는 본문의 텍스트를 찾을 것이므로
0을 넣었습니다.
두 번째 인자는 검색 범위입니다.
선택된 범위에서 찾을 것이므로 아래와 같이 옵션을 지정합니다.
나머지 인자들은 공식문서를 참고해 보시기 바랍니다.
우선 본문에서 선택된 텍스트만 불러올 때는 필요가 없습니다.
InitScan() 함수 설명의 마지막 Remark를 보시면 아래와 같이 설명되어 있습니다.
문서의 검색 과정은 InitScan()으로 검색위한 준비 작업을 하고 GetText()를 호출하여 본문의 텍스트를 얻어온다. GetText()를 반복호출하면 연속하여 본문의 텍스트를 얻어올 수 있다. 검색이 끝나면 ReleaseScan()을 호출하여 관련 정보를 초기화 해 주면 된다.
이제 준비 작업이 끝났으므로, GetText() 함수를 호출하면 됩니다.
코드 작성
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])
표 안에 있는 텍스트도 추출이 가능합니다.
이런 방식으로 선택하고 출력해도 정상 출력이 됩니다.
여기를 방문하시면 더 많은 파이썬 관련 자료를 확인할 수 있습니다.
'파이썬(Python)' 카테고리의 다른 글
[ 파이썬 한글 자동화 ] 엑셀 표를 붙여 넣을 때 공백 지우기, 표 공백 지우기 (1) | 2024.10.17 |
---|---|
[ 이미지 변환기 ] 그림 파일 용량, 이미지 사진 용량 줄이기 : 자작 프로그램 (2) | 2024.10.16 |
[ 파이썬 한글 자동화 ] 숫자를 금액으로 바꾸기 : 금100,000원으로 바꾸기 (0) | 2024.10.14 |
[ 파이썬 한글 자동화 ] 숫자로 입력한 금액을 한글 금액으로 바꾸기 (0) | 2024.10.13 |
[ 파이썬 한글 자동화 ] 한글 문서의 위치 : GetPos(), SetPos() (0) | 2024.10.11 |