[{"data":1,"prerenderedAt":841},["ShallowReactive",2],{"docs-ko-examples/flatten":3},{"id":4,"title":5,"body":6,"description":834,"extension":835,"meta":836,"navigation":71,"path":837,"seo":838,"stem":839,"__hash__":840},"docsKo/ko/docs/5.examples/11.flatten.md","플래트닝",{"type":7,"value":8,"toc":828},"minimark",[9,14,18,158,161,165,168,443,445,449,452,747,749,753,759,824],[10,11,13],"h2",{"id":12},"기본-플래트닝","기본 플래트닝",[15,16,17],"p",{},"작성된 폼 PDF를 열고 모든 필드를 정적 콘텐츠로 플래트닝합니다.",[19,20,25],"pre",{"className":21,"code":22,"language":23,"meta":24,"style":24},"language-go shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","doc, _ := gpdf.Open(filledFormPDF)\n\nif err := doc.FlattenForms(); err != nil {\n    log.Fatal(err)\n}\n\nresult, _ := doc.Save()\n","go","",[26,27,28,66,73,107,125,131,136],"code",{"__ignoreMap":24},[29,30,33,37,41,44,47,50,53,57,60,63],"span",{"class":31,"line":32},"line",1,[29,34,36],{"class":35},"sTEyZ","doc",[29,38,40],{"class":39},"sMK4o",",",[29,42,43],{"class":35}," _ ",[29,45,46],{"class":39},":=",[29,48,49],{"class":35}," gpdf",[29,51,52],{"class":39},".",[29,54,56],{"class":55},"s2Zo4","Open",[29,58,59],{"class":39},"(",[29,61,62],{"class":35},"filledFormPDF",[29,64,65],{"class":39},")\n",[29,67,69],{"class":31,"line":68},2,[29,70,72],{"emptyLinePlaceholder":71},true,"\n",[29,74,76,80,83,85,88,90,93,96,98,101,104],{"class":31,"line":75},3,[29,77,79],{"class":78},"s7zQu","if",[29,81,82],{"class":35}," err ",[29,84,46],{"class":39},[29,86,87],{"class":35}," doc",[29,89,52],{"class":39},[29,91,92],{"class":55},"FlattenForms",[29,94,95],{"class":39},"();",[29,97,82],{"class":35},[29,99,100],{"class":39},"!=",[29,102,103],{"class":39}," nil",[29,105,106],{"class":39}," {\n",[29,108,110,113,115,118,120,123],{"class":31,"line":109},4,[29,111,112],{"class":35},"    log",[29,114,52],{"class":39},[29,116,117],{"class":55},"Fatal",[29,119,59],{"class":39},[29,121,122],{"class":35},"err",[29,124,65],{"class":39},[29,126,128],{"class":31,"line":127},5,[29,129,130],{"class":39},"}\n",[29,132,134],{"class":31,"line":133},6,[29,135,72],{"emptyLinePlaceholder":71},[29,137,139,142,144,146,148,150,152,155],{"class":31,"line":138},7,[29,140,141],{"class":35},"result",[29,143,40],{"class":39},[29,145,43],{"class":35},[29,147,46],{"class":39},[29,149,87],{"class":35},[29,151,52],{"class":39},[29,153,154],{"class":55},"Save",[29,156,157],{"class":39},"()\n",[159,160],"hr",{},[10,162,164],{"id":163},"플래트닝-워터마크","플래트닝 + 워터마크",[15,166,167],{},"폼 필드를 플래트닝하고 \"FINAL\" 워터마크를 추가합니다.",[19,169,171],{"className":21,"code":170,"language":23,"meta":24,"style":24},"doc, _ := gpdf.Open(filledFormPDF)\n\n// 폼 플래트닝\ndoc.FlattenForms()\n\n// 워터마크 추가\ndoc.EachPage(func(_ int, p *template.PageBuilder) {\n    p.Absolute(document.Mm(50), document.Mm(140), func(c *template.ColBuilder) {\n        c.Text(\"FINAL\",\n            template.FontSize(72),\n            template.TextColor(pdf.Gray(0.9)),\n        )\n    })\n})\n\nresult, _ := doc.Save()\n",[26,172,173,195,199,205,215,219,224,266,329,354,373,401,407,413,419,424],{"__ignoreMap":24},[29,174,175,177,179,181,183,185,187,189,191,193],{"class":31,"line":32},[29,176,36],{"class":35},[29,178,40],{"class":39},[29,180,43],{"class":35},[29,182,46],{"class":39},[29,184,49],{"class":35},[29,186,52],{"class":39},[29,188,56],{"class":55},[29,190,59],{"class":39},[29,192,62],{"class":35},[29,194,65],{"class":39},[29,196,197],{"class":31,"line":68},[29,198,72],{"emptyLinePlaceholder":71},[29,200,201],{"class":31,"line":75},[29,202,204],{"class":203},"sHwdD","// 폼 플래트닝\n",[29,206,207,209,211,213],{"class":31,"line":109},[29,208,36],{"class":35},[29,210,52],{"class":39},[29,212,92],{"class":55},[29,214,157],{"class":39},[29,216,217],{"class":31,"line":127},[29,218,72],{"emptyLinePlaceholder":71},[29,220,221],{"class":31,"line":133},[29,222,223],{"class":203},"// 워터마크 추가\n",[29,225,226,228,230,233,236,240,244,246,249,252,256,258,261,264],{"class":31,"line":138},[29,227,36],{"class":35},[29,229,52],{"class":39},[29,231,232],{"class":55},"EachPage",[29,234,235],{"class":39},"(func(",[29,237,239],{"class":238},"sHdIc","_",[29,241,243],{"class":242},"spNyl"," int",[29,245,40],{"class":39},[29,247,248],{"class":238}," p",[29,250,251],{"class":39}," *",[29,253,255],{"class":254},"sBMFI","template",[29,257,52],{"class":39},[29,259,260],{"class":254},"PageBuilder",[29,262,263],{"class":39},")",[29,265,106],{"class":39},[29,267,269,272,274,277,279,282,284,287,289,293,296,299,301,303,305,308,310,313,316,318,320,322,325,327],{"class":31,"line":268},8,[29,270,271],{"class":35},"    p",[29,273,52],{"class":39},[29,275,276],{"class":55},"Absolute",[29,278,59],{"class":39},[29,280,281],{"class":35},"document",[29,283,52],{"class":39},[29,285,286],{"class":55},"Mm",[29,288,59],{"class":39},[29,290,292],{"class":291},"sbssI","50",[29,294,295],{"class":39},"),",[29,297,298],{"class":35}," document",[29,300,52],{"class":39},[29,302,286],{"class":55},[29,304,59],{"class":39},[29,306,307],{"class":291},"140",[29,309,295],{"class":39},[29,311,312],{"class":39}," func(",[29,314,315],{"class":238},"c",[29,317,251],{"class":39},[29,319,255],{"class":254},[29,321,52],{"class":39},[29,323,324],{"class":254},"ColBuilder",[29,326,263],{"class":39},[29,328,106],{"class":39},[29,330,332,335,337,340,342,345,349,351],{"class":31,"line":331},9,[29,333,334],{"class":35},"        c",[29,336,52],{"class":39},[29,338,339],{"class":55},"Text",[29,341,59],{"class":39},[29,343,344],{"class":39},"\"",[29,346,348],{"class":347},"sfazB","FINAL",[29,350,344],{"class":39},[29,352,353],{"class":39},",\n",[29,355,357,360,362,365,367,370],{"class":31,"line":356},10,[29,358,359],{"class":35},"            template",[29,361,52],{"class":39},[29,363,364],{"class":55},"FontSize",[29,366,59],{"class":39},[29,368,369],{"class":291},"72",[29,371,372],{"class":39},"),\n",[29,374,376,378,380,383,385,388,390,393,395,398],{"class":31,"line":375},11,[29,377,359],{"class":35},[29,379,52],{"class":39},[29,381,382],{"class":55},"TextColor",[29,384,59],{"class":39},[29,386,387],{"class":35},"pdf",[29,389,52],{"class":39},[29,391,392],{"class":55},"Gray",[29,394,59],{"class":39},[29,396,397],{"class":291},"0.9",[29,399,400],{"class":39},")),\n",[29,402,404],{"class":31,"line":403},12,[29,405,406],{"class":39},"        )\n",[29,408,410],{"class":31,"line":409},13,[29,411,412],{"class":39},"    })\n",[29,414,416],{"class":31,"line":415},14,[29,417,418],{"class":39},"})\n",[29,420,422],{"class":31,"line":421},15,[29,423,72],{"emptyLinePlaceholder":71},[29,425,427,429,431,433,435,437,439,441],{"class":31,"line":426},16,[29,428,141],{"class":35},[29,430,40],{"class":39},[29,432,43],{"class":35},[29,434,46],{"class":39},[29,436,87],{"class":35},[29,438,52],{"class":39},[29,440,154],{"class":55},[29,442,157],{"class":39},[159,444],{},[10,446,448],{"id":447},"플래트닝-페이지-번호","플래트닝 + 페이지 번호",[15,450,451],{},"폼 필드를 플래트닝하고 모든 페이지에 페이지 번호를 추가합니다.",[19,453,455],{"className":21,"code":454,"language":23,"meta":24,"style":24},"doc, _ := gpdf.Open(filledFormPDF)\n\n// 폼 플래트닝\ndoc.FlattenForms()\n\n// 페이지 번호 추가\ncount, _ := doc.PageCount()\ndoc.EachPage(func(i int, p *template.PageBuilder) {\n    p.Absolute(document.Mm(170), document.Mm(285), func(c *template.ColBuilder) {\n        c.Text(fmt.Sprintf(\"%d / %d\", i+1, count),\n            template.FontSize(10),\n            template.AlignRight(),\n        )\n    }, template.AbsoluteWidth(document.Mm(20)))\n})\n\nresult, _ := doc.Save()\n",[26,456,457,479,483,487,497,501,506,526,557,609,660,675,687,691,720,724,728],{"__ignoreMap":24},[29,458,459,461,463,465,467,469,471,473,475,477],{"class":31,"line":32},[29,460,36],{"class":35},[29,462,40],{"class":39},[29,464,43],{"class":35},[29,466,46],{"class":39},[29,468,49],{"class":35},[29,470,52],{"class":39},[29,472,56],{"class":55},[29,474,59],{"class":39},[29,476,62],{"class":35},[29,478,65],{"class":39},[29,480,481],{"class":31,"line":68},[29,482,72],{"emptyLinePlaceholder":71},[29,484,485],{"class":31,"line":75},[29,486,204],{"class":203},[29,488,489,491,493,495],{"class":31,"line":109},[29,490,36],{"class":35},[29,492,52],{"class":39},[29,494,92],{"class":55},[29,496,157],{"class":39},[29,498,499],{"class":31,"line":127},[29,500,72],{"emptyLinePlaceholder":71},[29,502,503],{"class":31,"line":133},[29,504,505],{"class":203},"// 페이지 번호 추가\n",[29,507,508,511,513,515,517,519,521,524],{"class":31,"line":138},[29,509,510],{"class":35},"count",[29,512,40],{"class":39},[29,514,43],{"class":35},[29,516,46],{"class":39},[29,518,87],{"class":35},[29,520,52],{"class":39},[29,522,523],{"class":55},"PageCount",[29,525,157],{"class":39},[29,527,528,530,532,534,536,539,541,543,545,547,549,551,553,555],{"class":31,"line":268},[29,529,36],{"class":35},[29,531,52],{"class":39},[29,533,232],{"class":55},[29,535,235],{"class":39},[29,537,538],{"class":238},"i",[29,540,243],{"class":242},[29,542,40],{"class":39},[29,544,248],{"class":238},[29,546,251],{"class":39},[29,548,255],{"class":254},[29,550,52],{"class":39},[29,552,260],{"class":254},[29,554,263],{"class":39},[29,556,106],{"class":39},[29,558,559,561,563,565,567,569,571,573,575,578,580,582,584,586,588,591,593,595,597,599,601,603,605,607],{"class":31,"line":331},[29,560,271],{"class":35},[29,562,52],{"class":39},[29,564,276],{"class":55},[29,566,59],{"class":39},[29,568,281],{"class":35},[29,570,52],{"class":39},[29,572,286],{"class":55},[29,574,59],{"class":39},[29,576,577],{"class":291},"170",[29,579,295],{"class":39},[29,581,298],{"class":35},[29,583,52],{"class":39},[29,585,286],{"class":55},[29,587,59],{"class":39},[29,589,590],{"class":291},"285",[29,592,295],{"class":39},[29,594,312],{"class":39},[29,596,315],{"class":238},[29,598,251],{"class":39},[29,600,255],{"class":254},[29,602,52],{"class":39},[29,604,324],{"class":254},[29,606,263],{"class":39},[29,608,106],{"class":39},[29,610,611,613,615,617,619,622,624,627,629,631,635,638,640,642,644,647,650,653,655,658],{"class":31,"line":356},[29,612,334],{"class":35},[29,614,52],{"class":39},[29,616,339],{"class":55},[29,618,59],{"class":39},[29,620,621],{"class":35},"fmt",[29,623,52],{"class":39},[29,625,626],{"class":55},"Sprintf",[29,628,59],{"class":39},[29,630,344],{"class":39},[29,632,634],{"class":633},"swJcz","%d",[29,636,637],{"class":347}," / ",[29,639,634],{"class":633},[29,641,344],{"class":39},[29,643,40],{"class":39},[29,645,646],{"class":35}," i",[29,648,649],{"class":39},"+",[29,651,652],{"class":291},"1",[29,654,40],{"class":39},[29,656,657],{"class":35}," count",[29,659,372],{"class":39},[29,661,662,664,666,668,670,673],{"class":31,"line":375},[29,663,359],{"class":35},[29,665,52],{"class":39},[29,667,364],{"class":55},[29,669,59],{"class":39},[29,671,672],{"class":291},"10",[29,674,372],{"class":39},[29,676,677,679,681,684],{"class":31,"line":403},[29,678,359],{"class":35},[29,680,52],{"class":39},[29,682,683],{"class":55},"AlignRight",[29,685,686],{"class":39},"(),\n",[29,688,689],{"class":31,"line":409},[29,690,406],{"class":39},[29,692,693,696,699,701,704,706,708,710,712,714,717],{"class":31,"line":415},[29,694,695],{"class":39},"    },",[29,697,698],{"class":35}," template",[29,700,52],{"class":39},[29,702,703],{"class":55},"AbsoluteWidth",[29,705,59],{"class":39},[29,707,281],{"class":35},[29,709,52],{"class":39},[29,711,286],{"class":55},[29,713,59],{"class":39},[29,715,716],{"class":291},"20",[29,718,719],{"class":39},")))\n",[29,721,722],{"class":31,"line":421},[29,723,418],{"class":39},[29,725,726],{"class":31,"line":426},[29,727,72],{"emptyLinePlaceholder":71},[29,729,731,733,735,737,739,741,743,745],{"class":31,"line":730},17,[29,732,141],{"class":35},[29,734,40],{"class":39},[29,736,43],{"class":35},[29,738,46],{"class":39},[29,740,87],{"class":35},[29,742,52],{"class":39},[29,744,154],{"class":55},[29,746,157],{"class":39},[159,748],{},[10,750,752],{"id":751},"안전한-플래트닝-폼-없음","안전한 플래트닝 (폼 없음)",[15,754,755,758],{},[26,756,757],{},"FlattenForms()","는 모든 PDF에서 안전하게 호출할 수 있습니다 — 폼 필드가 없으면 아무 작업도 수행하지 않습니다.",[19,760,762],{"className":21,"code":761,"language":23,"meta":24,"style":24},"// 폼이 있든 없든 모든 PDF에서 동작\ndoc, _ := gpdf.Open(anyPDF)\ndoc.FlattenForms() // AcroForm이 없으면 아무 작업도 수행하지 않음\nresult, _ := doc.Save()\n",[26,763,764,769,792,806],{"__ignoreMap":24},[29,765,766],{"class":31,"line":32},[29,767,768],{"class":203},"// 폼이 있든 없든 모든 PDF에서 동작\n",[29,770,771,773,775,777,779,781,783,785,787,790],{"class":31,"line":68},[29,772,36],{"class":35},[29,774,40],{"class":39},[29,776,43],{"class":35},[29,778,46],{"class":39},[29,780,49],{"class":35},[29,782,52],{"class":39},[29,784,56],{"class":55},[29,786,59],{"class":39},[29,788,789],{"class":35},"anyPDF",[29,791,65],{"class":39},[29,793,794,796,798,800,803],{"class":31,"line":75},[29,795,36],{"class":35},[29,797,52],{"class":39},[29,799,92],{"class":55},[29,801,802],{"class":39},"()",[29,804,805],{"class":203}," // AcroForm이 없으면 아무 작업도 수행하지 않음\n",[29,807,808,810,812,814,816,818,820,822],{"class":31,"line":109},[29,809,141],{"class":35},[29,811,40],{"class":39},[29,813,43],{"class":35},[29,815,46],{"class":39},[29,817,87],{"class":35},[29,819,52],{"class":39},[29,821,154],{"class":55},[29,823,157],{"class":39},[825,826,827],"style",{},"html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}",{"title":24,"searchDepth":68,"depth":68,"links":829},[830,831,832,833],{"id":12,"depth":68,"text":13},{"id":163,"depth":68,"text":164},{"id":447,"depth":68,"text":448},{"id":751,"depth":68,"text":752},"AcroForm 필드를 정적 페이지 콘텐츠로 플래트닝","md",{},"/ko/docs/examples/flatten",{"title":5,"description":834},"ko/docs/5.examples/11.flatten","jd0xyrcdD-MQ9kihMdum9U8OCPo4EJxhO-xsqsg8lY0",1776529290605]