# 현재 용지정보 가져오기 PageSetup

**URL:** <https://forum.developer.hancom.com/t/pagesetup/201>\
**Category:** 한글 컨트롤\
**Created:** [10월 20, 2021, 1:46오전 UTC](https://forum.developer.hancom.com/t/pagesetup/201 "2021-10-20T01:46:51Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![dev.community](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.developer.hancom.com/dev.community/32/488_2.png) [@dev.community](https://forum.developer.hancom.com/u/dev.community)\
**Post date:** [10월 20, 2021, 1:46오전 UTC](https://forum.developer.hancom.com/t/pagesetup/201/1 "2021-10-20T01:46:51Z")

</div>

_(예전 커뮤니티(2016-2020) 사이트에서 옮겨온 글입니다: [번호 164](https://www.hancom.com/board/devcommView.do?board_seq=48&artcl_seq=10007))_

작성자: easyedu  
날짜: 2020-03-03

* * *

용지 및 문단의 여백을 불러오기위해서

문단은

Hwpctrl.Parashape.item(“LeftMargin”) … 등을 사용하면 문단 여백을 가져올수 있지만,

메뉴얼 어딜봐도 용지 속성을 가져오는 방법이 없는것 같네요.

setitem으로 여백 설정후 값을 불러오는것말고

문서의 용지 여백을 구할수 있는 방법이 있을까요?

#### 댓글

##### smj0226 (2020.03.10)

매뉴얼에 있습니다ㅜ 파이썬으로는

```auto
act = Hwpctrl.CreateAction("PageSetup")
set = act.CreateSet()
pset = set.CreateItemSet("PageDef", "PageDef")
act.GetDefault(set)

print(set.Item("PageDef").Item("TopMargin"))

```

##### smj0226 (2020.03.10)

ParameterSet Table.hwp 파일 87번에 PageDef:구역 내의 용지 설정 속성  
가보시면 필요한 ItemID도 나열되어 있으므로 참고하시면 됩니다.  
매뉴얼이 다소 복잡해 보이지만, 예제들을 자세히 읽어보시면  
필요할법한, 그리고 유용한 구현방법이 대부분 들어있습니다.  
언어는 달라도 API는 동일하니까, 다른언어 예제도 읽어보시기 바랍니다..

##### smj0226 (2020.03.10)

추가로 궁금하신 게 있으시면 유튜브 “회사원코딩” 채널 댓글이나,  
martinii.fun@지메일로 보내주시면 도움 드리고 싶습니다.  
감사합니다.

##### easyedu (2020.03.11)

pageDef 및 itemID 들의 적용방법을 몰랐는데 좋은 정보 감사드립니다.  
여러곳에 적용할수 있겠네요.

---

<div class="post-metadata">

**Author:** ![user22](https://avatars.discourse-cdn.com/v4/letter/u/e47774/32.png) [@user22](https://forum.developer.hancom.com/u/user22)\
**Post date:** [3월 29, 2023, 7:25오전 UTC](https://forum.developer.hancom.com/t/pagesetup/201/2 "2023-03-29T07:25:46Z")

</div>

안녕하세요.  
easyedu 님께서 질문하신 내용에 대해 다시 문의 드립니다.  
혹시 파이썬이 아닌 다른 언어(C# 혹은 visual basic 등)로 아이템(용지방향, 여백 등등)의 값을 가져오는  
방법을 찾으셨는지요??  
감사합니다.

---

<div class="post-metadata">

**Author:** ![nuristar](https://avatars.discourse-cdn.com/v4/letter/n/bc79bd/32.png) [@nuristar](https://forum.developer.hancom.com/u/nuristar)\
**Post date:** [5월 15, 2023, 6:31오전 UTC](https://forum.developer.hancom.com/t/pagesetup/201/3 "2023-05-15T06:31:33Z")

</div>

한글 오토메이션 - ParameterSet Object 를 참고하세요

아래와 같이 하면 C# 에서 용지 크기 및 여백 등을 확인 할 수 있습니다.

//한글 단위(hu)를 mm로 변환  
private double hu2mm(double value)  
{  
return (Math.Round(value / 283.46));  
}

private void button3\_Click(object sender, EventArgs e)  
{  
var act = hwp.CreateAction(“PageSetup”);  
var set = act.CreateSet();  
act.GetDefault(set);  
double paper\_width = set.Item(“PageDef”).Item(“PaperWidth”); // 용지 가로 크기  
double paper\_height = set.Item(“PageDef”).Item(“PaperHeight”); // 용지 세로 크기  
byte landscape = set.Item(“PageDef”).Item(“Landscape”); // 용지 방향 (0 : 좁게, 1 : 넓게)  
double top\_margin = set.Item(“PageDef”).Item(“TopMargin”); // 위 마진  
double bottom\_margin = set.Item(“PageDef”).Item(“BottomMargin”); // 아래 마진  
double left\_margin = set.Item(“PageDef”).Item(“LeftMargin”); // 왼쪽 마진  
double right\_margin = set.Item(“PageDef”).Item(“RightMargin”); // 오른족 마진  
double header\_len = set.Item(“PageDef”).Item(“HeaderLen”); // 머리말 길이  
double footer\_len = set.Item(“PageDef”).Item(“FooterLen”); // 꼬리말 길이  
double gutter\_len = set.Item(“PageDef”).Item(“GutterLen”); // 제본 여백  
byte gutter\_type = set.Item(“PageDef”).Item(“GutterType”); // 편집 방법(0:한쪽 편집, 1: 맞쪽 편집, 2: 위로 넘기기)

```
        Debug.WriteLine("용지 가로 크기 : " + hu2mm(paper_width).ToString() + " mm");
        Debug.WriteLine("용지 세로 크기 : " + hu2mm(paper_height).ToString() + " mm");
        if (landscape == 1)
        {
            Debug.WriteLine("용지방향 : 넓게(가로문서");
        }
        else
        {
            Debug.WriteLine("용지방향 : 좁게(세로문서)");
        }
        Debug.WriteLine("용지 방향 : " + hu2mm(paper_height).ToString() + " mm");
        Debug.WriteLine("윗쪽 여백 : " + hu2mm(top_margin).ToString() + " mm");
        Debug.WriteLine("아랫쪽 여백 : " + hu2mm(bottom_margin).ToString() + " mm");
        Debug.WriteLine("왼쪽 여백 : " + hu2mm(left_margin).ToString() + " mm");
        Debug.WriteLine("오른쪽 여백 : " + hu2mm(right_margin).ToString() + " mm");
        Debug.WriteLine("머리말 : " + hu2mm(right_margin).ToString() + " mm");
        Debug.WriteLine("꼬리말 : " + hu2mm(right_margin).ToString() + " mm");
        Debug.WriteLine("제본 여백 : " + hu2mm(gutter_len).ToString() + " mm");

        if (gutter_type == 0)
        {
            Debug.WriteLine("편집 방법 : " + "한쪽 편집");
        }
        else if (gutter_type == 1)
        {
            Debug.WriteLine("편집 방법 : " + "맞쪽 편집");
        }
        else if (gutter_type == 2)
        {
            Debug.WriteLine("편집 방법 : " + "위로 넘기기");
        }
    }

```
