API 문서
Tip
/
키를 누르면 바로 검색창이 열립니다.
Ctrl
pyhwpx.core.Ctrl
아래아한글의 모든 개체(표, 그림, 글상자 및 각주/미주 등)를 다루기 위한 클래스.
CtrlCh
property
선택한 개체(Ctrl)의 타입 확인할 수 있는 컨트롤 문자를 리턴
일반적으로 컨트롤 ID를 사용해 컨트롤의 종류를 판별하지만, 이보다 더 포괄적인 범주를 나타내는 컨트롤 문자로 판별할 수도 있다. 예를 들어 각주와 미주는 ID는 다르지만, 컨트롤 문자는 17로 동일하다. 컨트롤 문자는 1부터 31사이의 값을 사용한다. (그럼에도, CtrlCh는 개인적으로 잘 사용하지 않는다.)
Returns:
Type | Description |
---|---|
int
|
1~31의 정수
|
Examples:
CtrlID
property
컨트롤 아이디
컨트롤 ID는 컨트롤의 종류를 나타내기 위해 할당된 ID로서, 최대 4개의 문자로 구성된 문자열이다. 예를 들어 표는 "tbl", 각주는 "fn"이다. 이와 비슷하게 CtrlCh는 정수로, UserDesc는 한글 문자열로 리턴한다.
한/글에서 현재까지 지원되는 모든 컨트롤의 ID는 아래 Returns 참조.
Returns:
Type | Description |
---|---|
str
|
해당 컨트롤의 컨트롤아이디
|
Examples:
Next
property
Prev
property
Properties
property
writable
컨트롤의 속성을 나타낸다.
모든 컨트롤은 대응하는 parameter set으로 속성을 읽고 쓸 수 있다.
Examples:
>>> # 문서의 모든 그림의 너비, 높이를 각각 절반으로 줄이는 코드
>>> from pyhwpx import Hwp
>>> hwp = Hwp()
>>> for ctrl in hwp.ctrl_list:
... if ctrl.UserDesc == "그림":
... prop = ctrl.Properties
... width = prop.Item("Width")
... height = prop.Item("Height")
... prop.SetItem("Width", width // 2)
... prop.SetItem("Height", height // 2)
... ctrl.Properties = prop
UserDesc
property
컨트롤의 종류를 사용자에게 보여줄 수 있는 localize된 문자열로 나타낸다.
GetAnchorPos(type_=0)
해당 컨트롤의 앵커(조판부호)의 위치를 반환한다.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
type_
|
int
|
기준위치
|
0
|
Returns:
Type | Description |
---|---|
'Hwp.HParameterSet'
|
성공했을 경우 ListParaPos ParameterSet이 반환된다. 실패했을 때는 None을 리턴함. |
Examples:
GetCtrlInstID()
[한글2024전용] 컨트롤의 고유 아이디를 정수형태 문자열로 리턴하는 메서드
한글2024부터 제공하는 기능으로 정확하게 컨트롤을 선택하기 위한 새로운 수단이다.
기존의 FindCtrl()
, hwp.SelectCtrlFront()
나
hwp.SelectCtrlReverse()
등 인접 컨트롤을 선택하는 방법에는
문제의 소지가 있었다. 대표적인 예로, 이미지가 들어있는 셀 안에서
표 컨트롤을 선택하려고 하면, 어떤 방법을 쓰든 이미지가 선택돼버리기 때문에
이미지를 선택하지 않는 여러 꼼수를 생각해내야 했다.
하지만 ctrl.GetCtrlInstID()와 hwp.SelectCtrl()을
같이 사용하면 그럴 걱정이 전혀 없게 된다.
다만 사용시 주의할 점이 하나 있는데,
Get
/SetTextFile
이나 save_block_as
등의 메서드 혹은
Cut
/Paste
사용시에는, 문서상에서 컨트롤이 지워졌다 다시 씌어지는 시점에
CtrlInstID
가 바뀌게 된다. (다만, 마우스로 드래그해 옮길 땐 아이디가 바뀌지 않는다.)
Returns:
Type | Description |
---|---|
str
|
10자리 정수 형태의 문자열로 구성된 |
Examples: