파이썬(Python)

[ 파이썬 한글 자동화 ] 표 안의 셀 너비와 높이 확인하기

카루루1007 2024. 10. 25. 11:13
728x90
반응형

한글 자동화를 하다 보면

이미 입력이 되었는 것들의 정보를 확인해야 하는 경우가 종종있습니다.

 

 셀의 너비와 높이 확인하기

 

먼저 실행 중인 한글 파일을 조작하기 위해

객체를 생성해 줍니다.

[ 파이썬 한글 자동화 ] 실행 중인 한글(Hwp, Hwpx) 프로그램 조작하기

 

한글 자동화 공식 문서는 아래 블로그에 링크가 있습니다.

한글 문서(Hwp) 안의 표 개수 확인하기

 

728x90

전체 코드는 다음과 같습니다.

act = hwp.CreateAction("TablePropertyDialog")
set= act.CreateSet()
pset = set.CreateItemSet("ShapeTableCell", "Cell")
act.GetDefault(set)

print(pset.Item("Width")/7200*25.4)
print(pset.Item("Height")/7200*25.4)

 

공식 문서를 살펴보면 ActionObject 문서에 다음과 같이 되어 있습니다.

 

TablePropertyDialog파라미터셋이 ShapeObject입니다.

 

ParameterSetObject 문서에서 ShapeObject 부분을 살펴보면 셀과 관련된 부분을 찾을 수 있습니다.

 

ShapeTableCellType이 PIT_SET이고 

셀 속성 개체(HCELL)에 하위 속성이 정의되어 있는 것으로 보입니다.

※ Type가 무엇인지? : 한글 자동화 ParameterSet Type 정리

 

ParameterSetObject 문서에서 HCell을 찾아보면 다음과 같이 되어 있습니다.

Width와 Height로 셀의 높이와 폭을 알 수 있고,

반환되는 값의 단위는 HWPUNIT입니다.

 

반응형

다시 코드를 살펴보겠습니다.

act = hwp.CreateAction("TablePropertyDialog")
set= act.CreateSet()

TablePropertyDialog를 CreateAction을 통해 실행하면

ShapeObject의 내용을 가지고 오는데

셀을 다루려면

ShapeObject안의 ShapeTableCell을 확인해야 하고

ShapeTableCell의 내용은 HCell에 있다.

 

set에는 이미 ShapeObject의 내용이 있으므로

set 변수를 통해 ShapeObject의 하위에 있는 내용에 접근하기 위해

아래와 같이 코드를 한 줄 더 작성합니다.

pset = set.CreateItemSet("ShapeTableCell", "Cell")

 

그럼 pset을 통해 ShapeTableCell 안의 HCell에 접근이 가능해집니다.

 

그다음 GetDefault() 함수를 실행하고

pset 변수를 통해 HCell에 접근합니다.

act.GetDefault(set)

print(pset.Item("Width")/7200*25.4)
print(pset.Item("Height")/7200*25.4)

 

결괏값을 7200으로 나누고 25.4를 곱한 이유는

위에서 보셨듯이 반환값의 단위가 HWPUNIT인데

7200 HWPUNIT은 1인치이고 

1인치는 25.4 밀리미터이기 때문에 

밀리미터 단위로 보고 싶어서 이렇게 했습니다.

 

 확인하기

 

한글에서 표를 만들고 확인해 보면 아래 그림과 같이

셀의 너비와 높이를 볼 수 있습니다.

너비는 68.19mm 높이는 4.52mm로 확인됩니다.

 

이제 셀 안에 커서를 놓고 코드 실행결과를 확인해 보겠습니다.

너비는 68.19194444444445mm

높이는 4.522611111111111mm

한글 프로그램에서 확인한 것과 비슷하게 나옵니다.

 

이 코드도 대부분의 속성을 확인하는 데 사용됩니다.

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

파이썬 공부하기

728x90
반응형