본문 바로가기
아래아한글 자동화/pyhwpx 사용법

pyhwpx 간편설치 및 실행 방법

by 일코 2023. 11. 28.

pyhwpx는 고급 업무자동화 기능의 구현보다는,

기본적이고 많이 쓰이지만 다소 사용법이 까다로운 API들을

보다 직관적이고 간단히 실행할 수 있도록 만들어진 모듈입니다.

(아직은 개발 초기라서)

직관적이지 않거나, 일명 파이써닉하지 않은 부분이 있습니다.. 조금씩 개선하고 보완하겠습니다.

현재 제 PC에 설치되어 있는 파이썬은 3.11, 아래아한글은 2022 버전입니다.

대부분의 포스팅은 주피터노트북으로 진행하겠습니다.

 

그럼 설치부터 시작해봅시다.

주피터노트북을 여셨으면

첫 번째 코드 셀에

%pip install pyhwpx

를 입력하고 실행해주세요.

 

모듈 임포트는 아래와 같은 방식으로 진행합니다.

from pyhwpx import Hwp
# from pyhwpx import *  # (선택) 로우레벨 API 및 스크립트매크로 호환 필요시 실행

hwpx = Hwp()  # 메인 인스턴스 생성
hwp = hwpx.hwp  # (선택) 로우레벨 인스턴스(win32com.client.gencache.EnsureDispatch("hwpframe.hwpobject")

기존에 win32로 한/글을 다뤄보신 분들이라면, 보안모듈에 대해 잘 아실 겁니다.
참고로 pyhwpx 모듈에는 FilePathCheckerModule.dll 파일이 포함되어 있습니다.
그리고 `hwpx = Hwp()` 명령어를 실행하는 시점에 RegisterModule도 같이 실행됩니다.
(RegisterModule을 실행하기 위한 준비과정이 다소 까다로워 임의로 추가했습니다.)

 

한/글을 백그라운드에서 실행하고 싶으시면?

완성된 자동화 프로그램은 속도나 편의성을 위해 백그라운드에서 돌리는 경우가 있습니다.
이런 경우에는 `hwp = Hwp(visible=False)`라고 파라미터를 추가하시면 됩니다.

 

기존에 열려있는 한/글 프로그램에 연결하고 싶다면?

한/글 작업 중에 갑자기 주피터노트북으로 연결하고 싶은 경우가 있죠.
사실 Hwp()는 한/글 프로그램이 열려 있는 경우 해당 문서와 연결합니다.

 

만약 기존 한/글 문서와 별개로,
파이썬으로 한/글을 따로 실행하고 싶으신 경우에는
아래처럼 `hwpx = Hwp(new=True)`라고 실행하시면 됩니다.

 

이제 간단한 명령어를 실행해봅시다.

글자를 삽입하는 메서드는 `hwpx.insert_text(입력할 텍스트)` 입니다.

 

줄바꿈(엔터)을 입력하려면
문자열에 "\r\n"을 추가하시면 됩니다.
hwpx.BreakPara() 메서드를 실행하셔도 동일하게 작동합니다.

 

pyhwpx 모듈은
기존 win32 자동화코드 또는 한/글 스크립트매크로 함수와의 호환 편의를 위해

여러가지 실행방법을 제공하고 있습니다. 예를 들어 hwpx.BreakPara() 메서드는
hwpx.run("BreakPara") 또는 hwp.Run("BreakPara") 등, 기존 방식으로도 실행 가능합니다.
(내부적으로는 완전히 동일한 코드입니다.)

 

자, 어떠셨나요?

아래아한글 자동화, 생각보다 쉽게 배워볼 수 있을 것 같지 않으신가요?^^
차근차근 하루에 포스팅 하나씩 읽으시면서 천천히 체득해 가시다 보면
어느새 업무자동화 고수가 되어 있으실 겁니다.

그럼 다음 포스팅에서 뵙겠습니다.

댓글