[{"data":1,"prerenderedAt":665},["ShallowReactive",2],{"docs-ko-guide/installation":3},{"id":4,"title":5,"body":6,"description":658,"extension":659,"meta":660,"navigation":106,"path":661,"seo":662,"stem":663,"__hash__":664},"docsKo/ko/docs/2.guide/1.installation.md","설치",{"type":7,"value":8,"toc":650},"minimark",[9,14,28,30,56,60,67,75,82,86,451,472,476,479,540,625,629,646],[10,11,13],"h2",{"id":12},"요구-사항","요구 사항",[15,16,17,25],"ul",{},[18,19,20,24],"li",{},[21,22,23],"strong",{},"Go 1.22"," 이상",[18,26,27],{},"외부 의존성 불필요",[10,29,5],{"id":5},[31,32,37],"pre",{"className":33,"code":34,"language":35,"meta":36,"style":36},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","go get github.com/gpdf-dev/gpdf\n","bash","",[38,39,40],"code",{"__ignoreMap":36},[41,42,45,49,53],"span",{"class":43,"line":44},"line",1,[41,46,48],{"class":47},"sBMFI","go",[41,50,52],{"class":51},"sfazB"," get",[41,54,55],{"class":51}," github.com/gpdf-dev/gpdf\n",[10,57,59],{"id":58},"모듈-설정","모듈 설정",[61,62,63,66],"p",{},[38,64,65],{},"go.mod","에 gpdf를 추가합니다:",[31,68,73],{"className":69,"code":71,"language":72},[70],"language-text","module your-project\n\ngo 1.22\n\nrequire github.com/gpdf-dev/gpdf v1.0.4\n","text",[38,74,71],{"__ignoreMap":36},[61,76,77,78,81],{},"gpdf는 ",[21,79,80],{},"외부 의존성이 전혀 없습니다"," — Go 표준 라이브러리만 사용합니다. CGo, 시스템 라이브러리, 복잡한 빌드 과정이 필요 없습니다.",[10,83,85],{"id":84},"설치-확인","설치 확인",[31,87,90],{"className":88,"code":89,"language":48,"meta":36,"style":36},"language-go shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","package main\n\nimport (\n    \"fmt\"\n    \"github.com/gpdf-dev/gpdf/document\"\n    \"github.com/gpdf-dev/gpdf/template\"\n)\n\nfunc main() {\n    doc := template.New(template.WithPageSize(document.A4))\n    page := doc.AddPage()\n    page.AutoRow(func(r *template.RowBuilder) {\n        r.Col(12, func(c *template.ColBuilder) {\n            c.Text(\"gpdf is working!\")\n        })\n    })\n    data, err := doc.Generate()\n    if err != nil {\n        panic(err)\n    }\n    fmt.Printf(\"Generated PDF: %d bytes\\n\", len(data))\n}\n",[38,91,92,101,108,118,130,140,150,156,161,177,220,239,272,311,334,340,346,368,384,397,403,445],{"__ignoreMap":36},[41,93,94,98],{"class":43,"line":44},[41,95,97],{"class":96},"sMK4o","package",[41,99,100],{"class":47}," main\n",[41,102,104],{"class":43,"line":103},2,[41,105,107],{"emptyLinePlaceholder":106},true,"\n",[41,109,111,115],{"class":43,"line":110},3,[41,112,114],{"class":113},"s7zQu","import",[41,116,117],{"class":96}," (\n",[41,119,121,124,127],{"class":43,"line":120},4,[41,122,123],{"class":96},"    \"",[41,125,126],{"class":47},"fmt",[41,128,129],{"class":96},"\"\n",[41,131,133,135,138],{"class":43,"line":132},5,[41,134,123],{"class":96},[41,136,137],{"class":47},"github.com/gpdf-dev/gpdf/document",[41,139,129],{"class":96},[41,141,143,145,148],{"class":43,"line":142},6,[41,144,123],{"class":96},[41,146,147],{"class":47},"github.com/gpdf-dev/gpdf/template",[41,149,129],{"class":96},[41,151,153],{"class":43,"line":152},7,[41,154,155],{"class":96},")\n",[41,157,159],{"class":43,"line":158},8,[41,160,107],{"emptyLinePlaceholder":106},[41,162,164,167,171,174],{"class":43,"line":163},9,[41,165,166],{"class":96},"func",[41,168,170],{"class":169},"s2Zo4"," main",[41,172,173],{"class":96},"()",[41,175,176],{"class":96}," {\n",[41,178,180,184,187,190,193,196,199,202,204,207,209,212,214,217],{"class":43,"line":179},10,[41,181,183],{"class":182},"sTEyZ","    doc ",[41,185,186],{"class":96},":=",[41,188,189],{"class":182}," template",[41,191,192],{"class":96},".",[41,194,195],{"class":169},"New",[41,197,198],{"class":96},"(",[41,200,201],{"class":182},"template",[41,203,192],{"class":96},[41,205,206],{"class":169},"WithPageSize",[41,208,198],{"class":96},[41,210,211],{"class":182},"document",[41,213,192],{"class":96},[41,215,216],{"class":182},"A4",[41,218,219],{"class":96},"))\n",[41,221,223,226,228,231,233,236],{"class":43,"line":222},11,[41,224,225],{"class":182},"    page ",[41,227,186],{"class":96},[41,229,230],{"class":182}," doc",[41,232,192],{"class":96},[41,234,235],{"class":169},"AddPage",[41,237,238],{"class":96},"()\n",[41,240,242,245,247,250,253,257,260,262,264,267,270],{"class":43,"line":241},12,[41,243,244],{"class":182},"    page",[41,246,192],{"class":96},[41,248,249],{"class":169},"AutoRow",[41,251,252],{"class":96},"(func(",[41,254,256],{"class":255},"sHdIc","r",[41,258,259],{"class":96}," *",[41,261,201],{"class":47},[41,263,192],{"class":96},[41,265,266],{"class":47},"RowBuilder",[41,268,269],{"class":96},")",[41,271,176],{"class":96},[41,273,275,278,280,283,285,289,292,295,298,300,302,304,307,309],{"class":43,"line":274},13,[41,276,277],{"class":182},"        r",[41,279,192],{"class":96},[41,281,282],{"class":169},"Col",[41,284,198],{"class":96},[41,286,288],{"class":287},"sbssI","12",[41,290,291],{"class":96},",",[41,293,294],{"class":96}," func(",[41,296,297],{"class":255},"c",[41,299,259],{"class":96},[41,301,201],{"class":47},[41,303,192],{"class":96},[41,305,306],{"class":47},"ColBuilder",[41,308,269],{"class":96},[41,310,176],{"class":96},[41,312,314,317,319,322,324,327,330,332],{"class":43,"line":313},14,[41,315,316],{"class":182},"            c",[41,318,192],{"class":96},[41,320,321],{"class":169},"Text",[41,323,198],{"class":96},[41,325,326],{"class":96},"\"",[41,328,329],{"class":51},"gpdf is working!",[41,331,326],{"class":96},[41,333,155],{"class":96},[41,335,337],{"class":43,"line":336},15,[41,338,339],{"class":96},"        })\n",[41,341,343],{"class":43,"line":342},16,[41,344,345],{"class":96},"    })\n",[41,347,349,352,354,357,359,361,363,366],{"class":43,"line":348},17,[41,350,351],{"class":182},"    data",[41,353,291],{"class":96},[41,355,356],{"class":182}," err ",[41,358,186],{"class":96},[41,360,230],{"class":182},[41,362,192],{"class":96},[41,364,365],{"class":169},"Generate",[41,367,238],{"class":96},[41,369,371,374,376,379,382],{"class":43,"line":370},18,[41,372,373],{"class":113},"    if",[41,375,356],{"class":182},[41,377,378],{"class":96},"!=",[41,380,381],{"class":96}," nil",[41,383,176],{"class":96},[41,385,387,390,392,395],{"class":43,"line":386},19,[41,388,389],{"class":169},"        panic",[41,391,198],{"class":96},[41,393,394],{"class":182},"err",[41,396,155],{"class":96},[41,398,400],{"class":43,"line":399},20,[41,401,402],{"class":96},"    }\n",[41,404,406,409,411,414,416,418,421,425,428,431,433,435,438,440,443],{"class":43,"line":405},21,[41,407,408],{"class":182},"    fmt",[41,410,192],{"class":96},[41,412,413],{"class":169},"Printf",[41,415,198],{"class":96},[41,417,326],{"class":96},[41,419,420],{"class":51},"Generated PDF: ",[41,422,424],{"class":423},"swJcz","%d",[41,426,427],{"class":51}," bytes",[41,429,430],{"class":182},"\\n",[41,432,326],{"class":96},[41,434,291],{"class":96},[41,436,437],{"class":169}," len",[41,439,198],{"class":96},[41,441,442],{"class":182},"data",[41,444,219],{"class":96},[41,446,448],{"class":43,"line":447},22,[41,449,450],{"class":96},"}\n",[31,452,454],{"className":33,"code":453,"language":35,"meta":36,"style":36},"go run main.go\n# Output: Generated PDF: 1234 bytes\n",[38,455,456,466],{"__ignoreMap":36},[41,457,458,460,463],{"class":43,"line":44},[41,459,48],{"class":47},[41,461,462],{"class":51}," run",[41,464,465],{"class":51}," main.go\n",[41,467,468],{"class":43,"line":103},[41,469,471],{"class":470},"sHwdD","# Output: Generated PDF: 1234 bytes\n",[10,473,475],{"id":474},"패키지-구조","패키지 구조",[61,477,478],{},"gpdf는 세 개의 레이어로 구성되어 있습니다. 필요한 것만 가져오세요:",[31,480,482],{"className":88,"code":481,"language":48,"meta":36,"style":36},"import (\n    \"github.com/gpdf-dev/gpdf\"            // Facade (재수출)\n    \"github.com/gpdf-dev/gpdf/template\"    // Layer 3: Builder API, 컴포넌트\n    \"github.com/gpdf-dev/gpdf/document\"    // Layer 2: 타입, 스타일, 단위\n    \"github.com/gpdf-dev/gpdf/pdf\"         // Layer 1: 색상, PDF 프리미티브\n)\n",[38,483,484,490,502,513,524,536],{"__ignoreMap":36},[41,485,486,488],{"class":43,"line":44},[41,487,114],{"class":113},[41,489,117],{"class":96},[41,491,492,494,497,499],{"class":43,"line":103},[41,493,123],{"class":96},[41,495,496],{"class":47},"github.com/gpdf-dev/gpdf",[41,498,326],{"class":96},[41,500,501],{"class":470},"            // Facade (재수출)\n",[41,503,504,506,508,510],{"class":43,"line":110},[41,505,123],{"class":96},[41,507,147],{"class":47},[41,509,326],{"class":96},[41,511,512],{"class":470},"    // Layer 3: Builder API, 컴포넌트\n",[41,514,515,517,519,521],{"class":43,"line":120},[41,516,123],{"class":96},[41,518,137],{"class":47},[41,520,326],{"class":96},[41,522,523],{"class":470},"    // Layer 2: 타입, 스타일, 단위\n",[41,525,526,528,531,533],{"class":43,"line":132},[41,527,123],{"class":96},[41,529,530],{"class":47},"github.com/gpdf-dev/gpdf/pdf",[41,532,326],{"class":96},[41,534,535],{"class":470},"         // Layer 1: 색상, PDF 프리미티브\n",[41,537,538],{"class":43,"line":142},[41,539,155],{"class":96},[541,542,543,559],"table",{},[544,545,546],"thead",{},[547,548,549,553,556],"tr",{},[550,551,552],"th",{},"패키지",[550,554,555],{},"레이어",[550,557,558],{},"용도",[560,561,562,575,587,600,613],"tbody",{},[547,563,564,569,572],{},[565,566,567],"td",{},[38,568,201],{},[565,570,571],{},"3",[565,573,574],{},"Builder API, JSON 스키마, Go 템플릿, 컴포넌트",[547,576,577,581,584],{},[565,578,579],{},[38,580,211],{},[565,582,583],{},"2",[565,585,586],{},"페이지 크기, 단위 (Mm, Pt 등), 스타일, 노드 타입",[547,588,589,594,597],{},[565,590,591],{},[38,592,593],{},"pdf",[565,595,596],{},"1",[565,598,599],{},"색상 (RGB, Hex, Gray), PDF Writer, 폰트 임베딩",[547,601,602,607,610],{},[565,603,604],{},[38,605,606],{},"qrcode",[565,608,609],{},"—",[565,611,612],{},"QR 코드 생성",[547,614,615,620,622],{},[565,616,617],{},[38,618,619],{},"barcode",[565,621,609],{},[565,623,624],{},"바코드 생성 (Code 128)",[10,626,628],{"id":627},"다음-단계","다음 단계",[15,630,631,639],{},[18,632,633,638],{},[634,635,637],"a",{"href":636},"/ko/docs/guide/basic-usage","기본 사용법"," — Builder API로 첫 번째 PDF 만들기",[18,640,641,645],{},[634,642,644],{"href":643},"/ko/docs/guide/grid-layout","그리드 레이아웃"," — 12열 레이아웃 시스템 배우기",[647,648,649],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}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 .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}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 pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}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 .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}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}",{"title":36,"searchDepth":103,"depth":103,"links":651},[652,653,654,655,656,657],{"id":12,"depth":103,"text":13},{"id":5,"depth":103,"text":5},{"id":58,"depth":103,"text":59},{"id":84,"depth":103,"text":85},{"id":474,"depth":103,"text":475},{"id":627,"depth":103,"text":628},"gpdf 설치 및 설정 방법","md",{},"/ko/docs/guide/installation",{"title":5,"description":658},"ko/docs/2.guide/1.installation","3tJFywqnNvdgysQyCl7R8PN-Qbo7eFjDt4H4AhRiIcM",1776529287795]