앞 포스팅에서는 글자 속성을 적용하는 여러가지 방법에 대해 알아보았다.
2020/12/14 - [파이썬-아래아한글 자동화 기초] - [한/글자동화 예제]현재 선택영역에 글자속성 적용하기
재미있는 것은, 글자 크기도 속성이므로, 동일한 방법으로 현재 글자크기 정보를 얻거나, 크기를 조정할 수도 있다.
가장 아날로그한 방법부터 알아보자.
1. Shift-Alt-E를 사용하는 방법
hwp.Run("CharShapeHeightIncrease") # 글자가 1포인트씩 커진다.
hwp.Run("CharShapeHeightDecrease") # 글자가 1포인트씩 작아진다.
2010 이하 버전에서는 글자가 커지는 폭이 약간 제멋대로였다. 이후 버전부터 현재까지는 무조건 1씩 커지기 때문에,
크기조절이 용이하다. 다만, 100포인트 정도 키우려면 글자가 커지는 광경을 한없이(처럼 느껴질 만큼 오래) 지켜봐야 한다...
하지만 더 효율적인 방법이 있다.
2. 앞의 포스팅처럼 액션과 아이템셋을 이용해서 수정하는 방식
위 예제의 SetItem 안에 들어가 있는 10,000은 HwpUnit으로, 아래아한글에서 기본이 되는 길이의 단위이다.
100HwpUnit은 1Point,
1인치는 정확히 7200HwpUnit
그리고 1밀리미터는 약 283.465HwpUnit이다. (정확히 떨어지지 않는다.)
한국인 특성상 밀리미터를 HwpUnit으로 변환하는 경우가 많기 때문에
친절하게 한/글에서는 hwp.MiliTohwpUnit(밀리미터) 라는 메서드를 제공하고 있다.
마지막으로 보여줄 방식은, 이 모든 걸 몰라도 사용할 수 있는 방식이다. 바로,
3. 스크립트매크로 녹화로 코드 찾아내기
다만, 이게 만능은 아니다. 필자가 (개인적으로) 한/글 관련 메서드 검색하는 순서는 아래와 같다.
1. 가급적, hwp.Run 명령어 또는 Ctrl API메서드 검색(해당문서 : HwpCtrl API.hwp)
2. hwp.CreateAction으로 액션과 아이템셋을 생성하는 메서드(해당문서 : Action Table.hwp & ParameterSet Table.hwp)
3. API매뉴얼에는 없지만 매크로 녹화를 통해 코드 추출
매크로 녹화가 굉장히 간편함에도 이를 지양하는 이유가 세 가지 정도 있는데,
1. 파이썬에서 실행하려면 "hwp."을 붙이는 등의 귀찮은 문법작업을 해줘야 함
2. 오류가 나거나 원하는 동작이 나오지 않을 때 해결방법을 찾기 어려움
3. 코드가 굉장히 길어짐
그럼에도 불구하고, 작업방법을 움짤로 남겨놓는다.
아래는 짧은 스크립트 매크로 녹화방법
아래는 파이썬 스크립트로 변환하는 과정이다. 사용한 IDE는 파이참.
아래는 변환한 코드로 한/글에 적용하는 모습
교육적인 포스팅은 아니었지만,
자동화 코드를 짤 때 시도해볼 수 있는 다양한 방법과, 시연영상을 보여드린 데 의의를 둔다.
다음 포스팅은, 또 문의 주신 콘텐츠로 진행해볼 것.
'아래아한글 자동화 > python+hwp 중급' 카테고리의 다른 글
[4/4] 파이썬으로 정관.HWP 서식잡기 종합 (1) | 2020.12.16 |
---|---|
[한/글자동화 예제]현재 선택영역에 글자속성 적용하기 (0) | 2020.12.14 |
[3/4] 정관문서 서식잡기(장이름 중앙정렬, 위아래 빈라인 삽입) (0) | 2020.12.12 |
댓글