편집 용지 설정은 한글 HWP에서 "F7"을 눌렀을 때 나타나는 설정으로, 아래 그림과 같습니다.
업무 자동화에 편집 용지 설정을 건드릴 일이 있을까 싶지만, 간단한 보고 문서, 기관 간행물 등 각종 문서들을 살펴보면 용지 여백이 다른 경우가 있습니다. 제 경우에는 보고서, 간행물 등 몇 가지 서식을 참조하여 용지 여백 설정을 메서드로 만들어 놓고 사용합니다.
업무 자동화에 편집 용지 설정을 건드릴 일이 있을까 싶지만, 간단한 보고 문서, 기관 간행물 등 각종 문서들을 살펴보면 용지 여백이 다른 경우가 있습니다. 제 경우에는 보고서, 간행물 등 몇 가지 서식을 참조하여 용지 여백 설정을 메서드로 만들어 놓고 사용합니다.
편집 용지 설정 예시 코드는 아래와 같습니다.
package main import ( "github.com/b612nightsky/gohwp" ) func main() { hwp := gohwp.Initialize() defer hwp.UnInitialize() hwp.ShowWindow(true) hwp.RegisterModule("FilePathCheckDLL", "FilePathCheckerModuleExample") act := hwp.HAction() set := hwp.HParameterSet().HSecDef() act.GetDefault("PageSetup", set.HSet()) pagedef := set.PageDef() pagedef.LeftMargin(hwp.MiliToHwpUnit(20.)) pagedef.RightMargin(hwp.MiliToHwpUnit(20.)) pagedef.TopMargin(hwp.MiliToHwpUnit(15.)) pagedef.BottomMargin(hwp.MiliToHwpUnit(15.)) pagedef.HeaderLen(hwp.MiliToHwpUnit(15.)) pagedef.FooterLen(hwp.MiliToHwpUnit(15.)) set.HSet().SetItem("ApplyClass", 24) set.HSet().SetItem("ApplyTo", 3) act.Execute("PageSetup", set.HSet()) }
- 액션은 "PageSetup"이며, 파라미터 세트는 "HSecDef" (구역) 입니다.
- 편집 용지 설정은 HSecDef 파라미터 세트에서 바로 수정하는 것이 아니라 "PageDef"라는 서브 파라미터 세트를 가지고 있어, PageDef를 설정합니다.
- LeftMargin, RightMargin, TopMargin, BottomMargin 은 좌우상하 여백입니다.
- HeaderLen, FooterLen은 머리말, 꼬리말입니다.
- 위의 예제에는 없지만 "pagedef.Landscape(1)"을 넣게 되면 용지 방향이 "가로"가 됩니다.
- ApplyTo의 경우, 3 : "문서 전체", 4 : "새 구역으로", 2: "현재 영역" 입니다. 다른 값은 모르겠습니다.
하단에 ApplyClass와 ApplyTo는 한글 오토메이션 매뉴얼에는 설명이 없습니다. 스크립트 생성을 해보고 나서야 존재를 알게 되었고, 이를 넣지 않으면 작동을 하지 않습니다.
ApplyClass는 솔직히 모르겠습니다. 어디에서도 설명을 찾아볼 수 없고 안 넣으면 작동을 하지 않으니 일단은 넣어놨습니다.
ApplyClass 등의 의미를 알게 된다면 업데이트하겠습니다.