[{"data":1,"prerenderedAt":661},["ShallowReactive",2],{"docs-zh-guide/installation":3},{"id":4,"title":5,"body":6,"description":654,"extension":655,"meta":656,"navigation":104,"path":657,"seo":658,"stem":659,"__hash__":660},"docsZh/zh/docs/2.guide/1.installation.md","安装",{"type":7,"value":8,"toc":646},"minimark",[9,13,27,29,55,58,66,74,81,84,449,470,473,476,537,622,625,642],[10,11,12],"h2",{"id":12},"环境要求",[14,15,16,24],"ul",{},[17,18,19,23],"li",{},[20,21,22],"strong",{},"Go 1.22"," 或更高版本",[17,25,26],{},"无需外部依赖",[10,28,5],{"id":5},[30,31,36],"pre",{"className":32,"code":33,"language":34,"meta":35,"style":35},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","go get github.com/gpdf-dev/gpdf\n","bash","",[37,38,39],"code",{"__ignoreMap":35},[40,41,44,48,52],"span",{"class":42,"line":43},"line",1,[40,45,47],{"class":46},"sBMFI","go",[40,49,51],{"class":50},"sfazB"," get",[40,53,54],{"class":50}," github.com/gpdf-dev/gpdf\n",[10,56,57],{"id":57},"模块配置",[59,60,61,62,65],"p",{},"将 gpdf 添加到你的 ",[37,63,64],{},"go.mod","：",[30,67,72],{"className":68,"code":70,"language":71},[69],"language-text","module your-project\n\ngo 1.22\n\nrequire github.com/gpdf-dev/gpdf v1.0.4\n","text",[37,73,70],{"__ignoreMap":35},[59,75,76,77,80],{},"gpdf ",[20,78,79],{},"零外部依赖"," — 仅使用 Go 标准库。无 CGo，无系统库，无复杂的构建步骤。",[10,82,83],{"id":83},"验证安装",[30,85,88],{"className":86,"code":87,"language":47,"meta":35,"style":35},"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",[37,89,90,99,106,116,128,138,148,154,159,175,218,237,270,309,332,338,344,366,382,395,401,443],{"__ignoreMap":35},[40,91,92,96],{"class":42,"line":43},[40,93,95],{"class":94},"sMK4o","package",[40,97,98],{"class":46}," main\n",[40,100,102],{"class":42,"line":101},2,[40,103,105],{"emptyLinePlaceholder":104},true,"\n",[40,107,109,113],{"class":42,"line":108},3,[40,110,112],{"class":111},"s7zQu","import",[40,114,115],{"class":94}," (\n",[40,117,119,122,125],{"class":42,"line":118},4,[40,120,121],{"class":94},"    \"",[40,123,124],{"class":46},"fmt",[40,126,127],{"class":94},"\"\n",[40,129,131,133,136],{"class":42,"line":130},5,[40,132,121],{"class":94},[40,134,135],{"class":46},"github.com/gpdf-dev/gpdf/document",[40,137,127],{"class":94},[40,139,141,143,146],{"class":42,"line":140},6,[40,142,121],{"class":94},[40,144,145],{"class":46},"github.com/gpdf-dev/gpdf/template",[40,147,127],{"class":94},[40,149,151],{"class":42,"line":150},7,[40,152,153],{"class":94},")\n",[40,155,157],{"class":42,"line":156},8,[40,158,105],{"emptyLinePlaceholder":104},[40,160,162,165,169,172],{"class":42,"line":161},9,[40,163,164],{"class":94},"func",[40,166,168],{"class":167},"s2Zo4"," main",[40,170,171],{"class":94},"()",[40,173,174],{"class":94}," {\n",[40,176,178,182,185,188,191,194,197,200,202,205,207,210,212,215],{"class":42,"line":177},10,[40,179,181],{"class":180},"sTEyZ","    doc ",[40,183,184],{"class":94},":=",[40,186,187],{"class":180}," template",[40,189,190],{"class":94},".",[40,192,193],{"class":167},"New",[40,195,196],{"class":94},"(",[40,198,199],{"class":180},"template",[40,201,190],{"class":94},[40,203,204],{"class":167},"WithPageSize",[40,206,196],{"class":94},[40,208,209],{"class":180},"document",[40,211,190],{"class":94},[40,213,214],{"class":180},"A4",[40,216,217],{"class":94},"))\n",[40,219,221,224,226,229,231,234],{"class":42,"line":220},11,[40,222,223],{"class":180},"    page ",[40,225,184],{"class":94},[40,227,228],{"class":180}," doc",[40,230,190],{"class":94},[40,232,233],{"class":167},"AddPage",[40,235,236],{"class":94},"()\n",[40,238,240,243,245,248,251,255,258,260,262,265,268],{"class":42,"line":239},12,[40,241,242],{"class":180},"    page",[40,244,190],{"class":94},[40,246,247],{"class":167},"AutoRow",[40,249,250],{"class":94},"(func(",[40,252,254],{"class":253},"sHdIc","r",[40,256,257],{"class":94}," *",[40,259,199],{"class":46},[40,261,190],{"class":94},[40,263,264],{"class":46},"RowBuilder",[40,266,267],{"class":94},")",[40,269,174],{"class":94},[40,271,273,276,278,281,283,287,290,293,296,298,300,302,305,307],{"class":42,"line":272},13,[40,274,275],{"class":180},"        r",[40,277,190],{"class":94},[40,279,280],{"class":167},"Col",[40,282,196],{"class":94},[40,284,286],{"class":285},"sbssI","12",[40,288,289],{"class":94},",",[40,291,292],{"class":94}," func(",[40,294,295],{"class":253},"c",[40,297,257],{"class":94},[40,299,199],{"class":46},[40,301,190],{"class":94},[40,303,304],{"class":46},"ColBuilder",[40,306,267],{"class":94},[40,308,174],{"class":94},[40,310,312,315,317,320,322,325,328,330],{"class":42,"line":311},14,[40,313,314],{"class":180},"            c",[40,316,190],{"class":94},[40,318,319],{"class":167},"Text",[40,321,196],{"class":94},[40,323,324],{"class":94},"\"",[40,326,327],{"class":50},"gpdf is working!",[40,329,324],{"class":94},[40,331,153],{"class":94},[40,333,335],{"class":42,"line":334},15,[40,336,337],{"class":94},"        })\n",[40,339,341],{"class":42,"line":340},16,[40,342,343],{"class":94},"    })\n",[40,345,347,350,352,355,357,359,361,364],{"class":42,"line":346},17,[40,348,349],{"class":180},"    data",[40,351,289],{"class":94},[40,353,354],{"class":180}," err ",[40,356,184],{"class":94},[40,358,228],{"class":180},[40,360,190],{"class":94},[40,362,363],{"class":167},"Generate",[40,365,236],{"class":94},[40,367,369,372,374,377,380],{"class":42,"line":368},18,[40,370,371],{"class":111},"    if",[40,373,354],{"class":180},[40,375,376],{"class":94},"!=",[40,378,379],{"class":94}," nil",[40,381,174],{"class":94},[40,383,385,388,390,393],{"class":42,"line":384},19,[40,386,387],{"class":167},"        panic",[40,389,196],{"class":94},[40,391,392],{"class":180},"err",[40,394,153],{"class":94},[40,396,398],{"class":42,"line":397},20,[40,399,400],{"class":94},"    }\n",[40,402,404,407,409,412,414,416,419,423,426,429,431,433,436,438,441],{"class":42,"line":403},21,[40,405,406],{"class":180},"    fmt",[40,408,190],{"class":94},[40,410,411],{"class":167},"Printf",[40,413,196],{"class":94},[40,415,324],{"class":94},[40,417,418],{"class":50},"Generated PDF: ",[40,420,422],{"class":421},"swJcz","%d",[40,424,425],{"class":50}," bytes",[40,427,428],{"class":180},"\\n",[40,430,324],{"class":94},[40,432,289],{"class":94},[40,434,435],{"class":167}," len",[40,437,196],{"class":94},[40,439,440],{"class":180},"data",[40,442,217],{"class":94},[40,444,446],{"class":42,"line":445},22,[40,447,448],{"class":94},"}\n",[30,450,452],{"className":32,"code":451,"language":34,"meta":35,"style":35},"go run main.go\n# Output: Generated PDF: 1234 bytes\n",[37,453,454,464],{"__ignoreMap":35},[40,455,456,458,461],{"class":42,"line":43},[40,457,47],{"class":46},[40,459,460],{"class":50}," run",[40,462,463],{"class":50}," main.go\n",[40,465,466],{"class":42,"line":101},[40,467,469],{"class":468},"sHwdD","# Output: Generated PDF: 1234 bytes\n",[10,471,472],{"id":472},"包结构",[59,474,475],{},"gpdf 分为三层，按需导入：",[30,477,479],{"className":86,"code":478,"language":47,"meta":35,"style":35},"import (\n    \"github.com/gpdf-dev/gpdf\"            // Facade (re-exports)\n    \"github.com/gpdf-dev/gpdf/template\"    // Layer 3: Builder API, Components\n    \"github.com/gpdf-dev/gpdf/document\"    // Layer 2: Types, Styles, Units\n    \"github.com/gpdf-dev/gpdf/pdf\"         // Layer 1: Colors, PDF primitives\n)\n",[37,480,481,487,499,510,521,533],{"__ignoreMap":35},[40,482,483,485],{"class":42,"line":43},[40,484,112],{"class":111},[40,486,115],{"class":94},[40,488,489,491,494,496],{"class":42,"line":101},[40,490,121],{"class":94},[40,492,493],{"class":46},"github.com/gpdf-dev/gpdf",[40,495,324],{"class":94},[40,497,498],{"class":468},"            // Facade (re-exports)\n",[40,500,501,503,505,507],{"class":42,"line":108},[40,502,121],{"class":94},[40,504,145],{"class":46},[40,506,324],{"class":94},[40,508,509],{"class":468},"    // Layer 3: Builder API, Components\n",[40,511,512,514,516,518],{"class":42,"line":118},[40,513,121],{"class":94},[40,515,135],{"class":46},[40,517,324],{"class":94},[40,519,520],{"class":468},"    // Layer 2: Types, Styles, Units\n",[40,522,523,525,528,530],{"class":42,"line":130},[40,524,121],{"class":94},[40,526,527],{"class":46},"github.com/gpdf-dev/gpdf/pdf",[40,529,324],{"class":94},[40,531,532],{"class":468},"         // Layer 1: Colors, PDF primitives\n",[40,534,535],{"class":42,"line":140},[40,536,153],{"class":94},[538,539,540,556],"table",{},[541,542,543],"thead",{},[544,545,546,550,553],"tr",{},[547,548,549],"th",{},"包",[547,551,552],{},"层级",[547,554,555],{},"用途",[557,558,559,572,584,597,610],"tbody",{},[544,560,561,566,569],{},[562,563,564],"td",{},[37,565,199],{},[562,567,568],{},"3",[562,570,571],{},"Builder API、JSON Schema、Go Templates、组件",[544,573,574,578,581],{},[562,575,576],{},[37,577,209],{},[562,579,580],{},"2",[562,582,583],{},"页面尺寸、单位（Mm、Pt 等）、样式、节点类型",[544,585,586,591,594],{},[562,587,588],{},[37,589,590],{},"pdf",[562,592,593],{},"1",[562,595,596],{},"颜色（RGB、Hex、Gray）、PDF Writer、字体嵌入",[544,598,599,604,607],{},[562,600,601],{},[37,602,603],{},"qrcode",[562,605,606],{},"—",[562,608,609],{},"二维码生成",[544,611,612,617,619],{},[562,613,614],{},[37,615,616],{},"barcode",[562,618,606],{},[562,620,621],{},"条形码生成（Code 128）",[10,623,624],{"id":624},"下一步",[14,626,627,635],{},[17,628,629,634],{},[630,631,633],"a",{"href":632},"/zh/docs/guide/basic-usage","基本用法"," — 使用 Builder API 创建你的第一个 PDF",[17,636,637,641],{},[630,638,640],{"href":639},"/zh/docs/guide/grid-layout","网格布局"," — 学习 12 列布局系统",[643,644,645],"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":35,"searchDepth":101,"depth":101,"links":647},[648,649,650,651,652,653],{"id":12,"depth":101,"text":12},{"id":5,"depth":101,"text":5},{"id":57,"depth":101,"text":57},{"id":83,"depth":101,"text":83},{"id":472,"depth":101,"text":472},{"id":624,"depth":101,"text":624},"如何安装和配置 gpdf","md",{},"/zh/docs/guide/installation",{"title":5,"description":654},"zh/docs/2.guide/1.installation","FHVvMCRCE8KwBF9Y459uP7UBKl4e0f4TSx1-QwrsZ44",1776529282371]