[{"data":1,"prerenderedAt":1508},["ShallowReactive",2],{"docs-pt-api-reference/go-templates":3},{"id":4,"title":5,"body":6,"description":1501,"extension":1502,"meta":1503,"navigation":164,"path":1504,"seo":1505,"stem":1506,"__hash__":1507},"docsPt/pt/docs/3.api-reference/6.go-templates.md","Go Templates",{"type":7,"value":8,"toc":1490},"minimark",[9,14,23,26,43,47,50,265,269,274,920,928,932,939,990,995,1025,1029,1032,1223,1227,1232,1360,1364,1403,1487],[10,11,13],"h2",{"id":12},"visao-geral","Visao Geral",[15,16,17,18,22],"p",{},"gpdf integra-se com o pacote ",[19,20,21],"code",{},"text/template"," do Go para geracao de conteudo dinamico. Os templates produzem saida em JSON schema que o gpdf renderiza como PDF.",[15,24,25],{},"Duas abordagens estao disponiveis:",[27,28,29,37],"ol",{},[30,31,32,36],"li",{},[33,34,35],"strong",{},"FromJSON"," — Expressoes Go template inline no JSON (mais simples)",[30,38,39,42],{},[33,40,41],{},"FromTemplate"," — Go template pre-analisado para controle total (flexivel)",[10,44,46],{"id":45},"fromjson-com-expressoes-de-template","FromJSON com Expressoes de Template",[15,48,49],{},"A abordagem mais simples — incorpore expressoes Go template diretamente no JSON:",[51,52,57],"pre",{"className":53,"code":54,"language":55,"meta":56,"style":56},"language-go shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","schema := []byte(`{\n    \"page\": {\"size\": \"A4\", \"margins\": \"20mm\"},\n    \"metadata\": {\"title\": \"{{.Title}}\"},\n    \"body\": [\n        {\"row\": {\"cols\": [\n            {\"span\": 12, \"text\": \"{{.Title}}\", \"style\": {\"size\": 24, \"bold\": true}}\n        ]}},\n        {\"row\": {\"cols\": [\n            {\"span\": 12, \"text\": \"Author: {{.Author}}\"}\n        ]}}\n    ]\n}`)\n\ndoc, err := template.FromJSON(schema, map[string]any{\n    \"Title\":  \"Monthly Report\",\n    \"Author\": \"ACME Corp\",\n})\n","go","",[19,58,59,89,95,101,107,113,119,125,130,136,142,148,159,166,211,237,259],{"__ignoreMap":56},[60,61,64,68,72,75,79,82,85],"span",{"class":62,"line":63},"line",1,[60,65,67],{"class":66},"sTEyZ","schema ",[60,69,71],{"class":70},"sMK4o",":=",[60,73,74],{"class":70}," []",[60,76,78],{"class":77},"spNyl","byte",[60,80,81],{"class":70},"(",[60,83,84],{"class":70},"`",[60,86,88],{"class":87},"sfazB","{\n",[60,90,92],{"class":62,"line":91},2,[60,93,94],{"class":87},"    \"page\": {\"size\": \"A4\", \"margins\": \"20mm\"},\n",[60,96,98],{"class":62,"line":97},3,[60,99,100],{"class":87},"    \"metadata\": {\"title\": \"{{.Title}}\"},\n",[60,102,104],{"class":62,"line":103},4,[60,105,106],{"class":87},"    \"body\": [\n",[60,108,110],{"class":62,"line":109},5,[60,111,112],{"class":87},"        {\"row\": {\"cols\": [\n",[60,114,116],{"class":62,"line":115},6,[60,117,118],{"class":87},"            {\"span\": 12, \"text\": \"{{.Title}}\", \"style\": {\"size\": 24, \"bold\": true}}\n",[60,120,122],{"class":62,"line":121},7,[60,123,124],{"class":87},"        ]}},\n",[60,126,128],{"class":62,"line":127},8,[60,129,112],{"class":87},[60,131,133],{"class":62,"line":132},9,[60,134,135],{"class":87},"            {\"span\": 12, \"text\": \"Author: {{.Author}}\"}\n",[60,137,139],{"class":62,"line":138},10,[60,140,141],{"class":87},"        ]}}\n",[60,143,145],{"class":62,"line":144},11,[60,146,147],{"class":87},"    ]\n",[60,149,151,154,156],{"class":62,"line":150},12,[60,152,153],{"class":87},"}",[60,155,84],{"class":70},[60,157,158],{"class":70},")\n",[60,160,162],{"class":62,"line":161},13,[60,163,165],{"emptyLinePlaceholder":164},true,"\n",[60,167,169,172,175,178,180,183,186,189,191,194,196,199,202,205,209],{"class":62,"line":168},14,[60,170,171],{"class":66},"doc",[60,173,174],{"class":70},",",[60,176,177],{"class":66}," err ",[60,179,71],{"class":70},[60,181,182],{"class":66}," template",[60,184,185],{"class":70},".",[60,187,35],{"class":188},"s2Zo4",[60,190,81],{"class":70},[60,192,193],{"class":66},"schema",[60,195,174],{"class":70},[60,197,198],{"class":70}," map[",[60,200,201],{"class":77},"string",[60,203,204],{"class":70},"]",[60,206,208],{"class":207},"sBMFI","any",[60,210,88],{"class":70},[60,212,214,217,220,223,226,229,232,234],{"class":62,"line":213},15,[60,215,216],{"class":70},"    \"",[60,218,219],{"class":87},"Title",[60,221,222],{"class":70},"\"",[60,224,225],{"class":70},":",[60,227,228],{"class":70},"  \"",[60,230,231],{"class":87},"Monthly Report",[60,233,222],{"class":70},[60,235,236],{"class":70},",\n",[60,238,240,242,245,247,249,252,255,257],{"class":62,"line":239},16,[60,241,216],{"class":70},[60,243,244],{"class":87},"Author",[60,246,222],{"class":70},[60,248,225],{"class":70},[60,250,251],{"class":70}," \"",[60,253,254],{"class":87},"ACME Corp",[60,256,222],{"class":70},[60,258,236],{"class":70},[60,260,262],{"class":62,"line":261},17,[60,263,264],{"class":70},"})\n",[10,266,268],{"id":267},"fromtemplate-com-templates-pre-analisados","FromTemplate com Templates Pre-Analisados",[15,270,271,272,225],{},"Para logica complexa como loops e condicionais, use ",[19,273,41],{},[51,275,277],{"className":53,"code":276,"language":55,"meta":56,"style":56},"import (\n    gotemplate \"text/template\"\n    \"github.com/gpdf-dev/gpdf/template\"\n)\n\ntmplStr := `{\n    \"page\": {\"size\": \"A4\", \"margins\": \"20mm\"},\n    \"metadata\": {\"title\": \"{{.Title}}\"},\n    \"body\": [\n        {\"row\": {\"cols\": [\n            {\"span\": 12, \"text\": \"{{.Title}}\", \"style\": {\"size\": 24, \"bold\": true}}\n        ]}},\n        {\"row\": {\"cols\": [\n            {\"span\": 12, \"spacer\": \"5mm\"}\n        ]}},\n        {{- range $i, $section := .Sections}}\n        {{- if $i}},{{end}}\n        {\"row\": {\"cols\": [\n            {\"span\": 12, \"elements\": [\n                {\"type\": \"text\", \"content\": \"{{$section.Heading}}\", \"style\": {\"size\": 16, \"bold\": true, \"color\": \"#1A237E\"}},\n                {\"type\": \"spacer\", \"height\": \"3mm\"},\n                {\"type\": \"text\", \"content\": \"{{$section.Body}}\"},\n                {\"type\": \"spacer\", \"height\": \"8mm\"}\n            ]}\n        ]}}\n        {{- end}}\n    ]\n}`\n\ntmpl, err := gotemplate.New(\"report\").Funcs(template.TemplateFuncMap()).Parse(tmplStr)\nif err != nil {\n    log.Fatal(err)\n}\n\ntype section struct {\n    Heading string\n    Body    string\n}\n\ndata := map[string]any{\n    \"Title\": \"Quarterly Report - Q1 2026\",\n    \"Sections\": []section{\n        {\n            Heading: \"Executive Summary\",\n            Body:    \"Revenue increased 25% year-over-year, driven by new enterprise offerings.\",\n        },\n        {\n            Heading: \"Product Development\",\n            Body:    \"The gpdf library reached v0.8 with JSON schema and Go template support.\",\n        },\n        {\n            Heading: \"Market Analysis\",\n            Body:    \"PDF generation market grows. Zero-dependency approach resonates with Go devs.\",\n        },\n        {\n            Heading: \"Next Steps\",\n            Body:    \"Focus on reusable components, fuzz testing, and v1.0 release.\",\n        },\n    },\n}\n\ndoc, err := template.FromTemplate(tmpl, data)\nif err != nil {\n    log.Fatal(err)\n}\npdfData, err := doc.Generate()\n",[19,278,279,288,300,309,313,317,329,333,337,341,345,349,353,357,362,366,371,376,381,387,393,399,405,411,417,422,428,433,441,446,504,521,539,545,550,564,573,581,586,591,609,629,648,654,671,688,694,699,715,731,736,741,757,773,778,783,799,815,820,826,831,836,864,877,892,897],{"__ignoreMap":56},[60,280,281,285],{"class":62,"line":63},[60,282,284],{"class":283},"s7zQu","import",[60,286,287],{"class":70}," (\n",[60,289,290,293,295,297],{"class":62,"line":91},[60,291,292],{"class":66},"    gotemplate ",[60,294,222],{"class":70},[60,296,21],{"class":207},[60,298,299],{"class":70},"\"\n",[60,301,302,304,307],{"class":62,"line":97},[60,303,216],{"class":70},[60,305,306],{"class":207},"github.com/gpdf-dev/gpdf/template",[60,308,299],{"class":70},[60,310,311],{"class":62,"line":103},[60,312,158],{"class":70},[60,314,315],{"class":62,"line":109},[60,316,165],{"emptyLinePlaceholder":164},[60,318,319,322,324,327],{"class":62,"line":115},[60,320,321],{"class":66},"tmplStr ",[60,323,71],{"class":70},[60,325,326],{"class":70}," `",[60,328,88],{"class":87},[60,330,331],{"class":62,"line":121},[60,332,94],{"class":87},[60,334,335],{"class":62,"line":127},[60,336,100],{"class":87},[60,338,339],{"class":62,"line":132},[60,340,106],{"class":87},[60,342,343],{"class":62,"line":138},[60,344,112],{"class":87},[60,346,347],{"class":62,"line":144},[60,348,118],{"class":87},[60,350,351],{"class":62,"line":150},[60,352,124],{"class":87},[60,354,355],{"class":62,"line":161},[60,356,112],{"class":87},[60,358,359],{"class":62,"line":168},[60,360,361],{"class":87},"            {\"span\": 12, \"spacer\": \"5mm\"}\n",[60,363,364],{"class":62,"line":213},[60,365,124],{"class":87},[60,367,368],{"class":62,"line":239},[60,369,370],{"class":87},"        {{- range $i, $section := .Sections}}\n",[60,372,373],{"class":62,"line":261},[60,374,375],{"class":87},"        {{- if $i}},{{end}}\n",[60,377,379],{"class":62,"line":378},18,[60,380,112],{"class":87},[60,382,384],{"class":62,"line":383},19,[60,385,386],{"class":87},"            {\"span\": 12, \"elements\": [\n",[60,388,390],{"class":62,"line":389},20,[60,391,392],{"class":87},"                {\"type\": \"text\", \"content\": \"{{$section.Heading}}\", \"style\": {\"size\": 16, \"bold\": true, \"color\": \"#1A237E\"}},\n",[60,394,396],{"class":62,"line":395},21,[60,397,398],{"class":87},"                {\"type\": \"spacer\", \"height\": \"3mm\"},\n",[60,400,402],{"class":62,"line":401},22,[60,403,404],{"class":87},"                {\"type\": \"text\", \"content\": \"{{$section.Body}}\"},\n",[60,406,408],{"class":62,"line":407},23,[60,409,410],{"class":87},"                {\"type\": \"spacer\", \"height\": \"8mm\"}\n",[60,412,414],{"class":62,"line":413},24,[60,415,416],{"class":87},"            ]}\n",[60,418,420],{"class":62,"line":419},25,[60,421,141],{"class":87},[60,423,425],{"class":62,"line":424},26,[60,426,427],{"class":87},"        {{- end}}\n",[60,429,431],{"class":62,"line":430},27,[60,432,147],{"class":87},[60,434,436,438],{"class":62,"line":435},28,[60,437,153],{"class":87},[60,439,440],{"class":70},"`\n",[60,442,444],{"class":62,"line":443},29,[60,445,165],{"emptyLinePlaceholder":164},[60,447,449,452,454,456,458,461,463,466,468,470,473,475,478,481,483,486,488,491,494,497,499,502],{"class":62,"line":448},30,[60,450,451],{"class":66},"tmpl",[60,453,174],{"class":70},[60,455,177],{"class":66},[60,457,71],{"class":70},[60,459,460],{"class":66}," gotemplate",[60,462,185],{"class":70},[60,464,465],{"class":188},"New",[60,467,81],{"class":70},[60,469,222],{"class":70},[60,471,472],{"class":87},"report",[60,474,222],{"class":70},[60,476,477],{"class":70},").",[60,479,480],{"class":188},"Funcs",[60,482,81],{"class":70},[60,484,485],{"class":66},"template",[60,487,185],{"class":70},[60,489,490],{"class":188},"TemplateFuncMap",[60,492,493],{"class":70},"()).",[60,495,496],{"class":188},"Parse",[60,498,81],{"class":70},[60,500,501],{"class":66},"tmplStr",[60,503,158],{"class":70},[60,505,507,510,512,515,518],{"class":62,"line":506},31,[60,508,509],{"class":283},"if",[60,511,177],{"class":66},[60,513,514],{"class":70},"!=",[60,516,517],{"class":70}," nil",[60,519,520],{"class":70}," {\n",[60,522,524,527,529,532,534,537],{"class":62,"line":523},32,[60,525,526],{"class":66},"    log",[60,528,185],{"class":70},[60,530,531],{"class":188},"Fatal",[60,533,81],{"class":70},[60,535,536],{"class":66},"err",[60,538,158],{"class":70},[60,540,542],{"class":62,"line":541},33,[60,543,544],{"class":70},"}\n",[60,546,548],{"class":62,"line":547},34,[60,549,165],{"emptyLinePlaceholder":164},[60,551,553,556,559,562],{"class":62,"line":552},35,[60,554,555],{"class":70},"type",[60,557,558],{"class":207}," section",[60,560,561],{"class":70}," struct",[60,563,520],{"class":70},[60,565,567,570],{"class":62,"line":566},36,[60,568,569],{"class":66},"    Heading ",[60,571,572],{"class":77},"string\n",[60,574,576,579],{"class":62,"line":575},37,[60,577,578],{"class":66},"    Body    ",[60,580,572],{"class":77},[60,582,584],{"class":62,"line":583},38,[60,585,544],{"class":70},[60,587,589],{"class":62,"line":588},39,[60,590,165],{"emptyLinePlaceholder":164},[60,592,594,597,599,601,603,605,607],{"class":62,"line":593},40,[60,595,596],{"class":66},"data ",[60,598,71],{"class":70},[60,600,198],{"class":70},[60,602,201],{"class":77},[60,604,204],{"class":70},[60,606,208],{"class":207},[60,608,88],{"class":70},[60,610,612,614,616,618,620,622,625,627],{"class":62,"line":611},41,[60,613,216],{"class":70},[60,615,219],{"class":87},[60,617,222],{"class":70},[60,619,225],{"class":70},[60,621,251],{"class":70},[60,623,624],{"class":87},"Quarterly Report - Q1 2026",[60,626,222],{"class":70},[60,628,236],{"class":70},[60,630,632,634,637,639,641,643,646],{"class":62,"line":631},42,[60,633,216],{"class":70},[60,635,636],{"class":87},"Sections",[60,638,222],{"class":70},[60,640,225],{"class":70},[60,642,74],{"class":70},[60,644,645],{"class":207},"section",[60,647,88],{"class":70},[60,649,651],{"class":62,"line":650},43,[60,652,653],{"class":70},"        {\n",[60,655,657,660,662,664,667,669],{"class":62,"line":656},44,[60,658,659],{"class":66},"            Heading",[60,661,225],{"class":70},[60,663,251],{"class":70},[60,665,666],{"class":87},"Executive Summary",[60,668,222],{"class":70},[60,670,236],{"class":70},[60,672,674,677,679,681,684,686],{"class":62,"line":673},45,[60,675,676],{"class":66},"            Body",[60,678,225],{"class":70},[60,680,216],{"class":70},[60,682,683],{"class":87},"Revenue increased 25% year-over-year, driven by new enterprise offerings.",[60,685,222],{"class":70},[60,687,236],{"class":70},[60,689,691],{"class":62,"line":690},46,[60,692,693],{"class":70},"        },\n",[60,695,697],{"class":62,"line":696},47,[60,698,653],{"class":70},[60,700,702,704,706,708,711,713],{"class":62,"line":701},48,[60,703,659],{"class":66},[60,705,225],{"class":70},[60,707,251],{"class":70},[60,709,710],{"class":87},"Product Development",[60,712,222],{"class":70},[60,714,236],{"class":70},[60,716,718,720,722,724,727,729],{"class":62,"line":717},49,[60,719,676],{"class":66},[60,721,225],{"class":70},[60,723,216],{"class":70},[60,725,726],{"class":87},"The gpdf library reached v0.8 with JSON schema and Go template support.",[60,728,222],{"class":70},[60,730,236],{"class":70},[60,732,734],{"class":62,"line":733},50,[60,735,693],{"class":70},[60,737,739],{"class":62,"line":738},51,[60,740,653],{"class":70},[60,742,744,746,748,750,753,755],{"class":62,"line":743},52,[60,745,659],{"class":66},[60,747,225],{"class":70},[60,749,251],{"class":70},[60,751,752],{"class":87},"Market Analysis",[60,754,222],{"class":70},[60,756,236],{"class":70},[60,758,760,762,764,766,769,771],{"class":62,"line":759},53,[60,761,676],{"class":66},[60,763,225],{"class":70},[60,765,216],{"class":70},[60,767,768],{"class":87},"PDF generation market grows. Zero-dependency approach resonates with Go devs.",[60,770,222],{"class":70},[60,772,236],{"class":70},[60,774,776],{"class":62,"line":775},54,[60,777,693],{"class":70},[60,779,781],{"class":62,"line":780},55,[60,782,653],{"class":70},[60,784,786,788,790,792,795,797],{"class":62,"line":785},56,[60,787,659],{"class":66},[60,789,225],{"class":70},[60,791,251],{"class":70},[60,793,794],{"class":87},"Next Steps",[60,796,222],{"class":70},[60,798,236],{"class":70},[60,800,802,804,806,808,811,813],{"class":62,"line":801},57,[60,803,676],{"class":66},[60,805,225],{"class":70},[60,807,216],{"class":70},[60,809,810],{"class":87},"Focus on reusable components, fuzz testing, and v1.0 release.",[60,812,222],{"class":70},[60,814,236],{"class":70},[60,816,818],{"class":62,"line":817},58,[60,819,693],{"class":70},[60,821,823],{"class":62,"line":822},59,[60,824,825],{"class":70},"    },\n",[60,827,829],{"class":62,"line":828},60,[60,830,544],{"class":70},[60,832,834],{"class":62,"line":833},61,[60,835,165],{"emptyLinePlaceholder":164},[60,837,839,841,843,845,847,849,851,853,855,857,859,862],{"class":62,"line":838},62,[60,840,171],{"class":66},[60,842,174],{"class":70},[60,844,177],{"class":66},[60,846,71],{"class":70},[60,848,182],{"class":66},[60,850,185],{"class":70},[60,852,41],{"class":188},[60,854,81],{"class":70},[60,856,451],{"class":66},[60,858,174],{"class":70},[60,860,861],{"class":66}," data",[60,863,158],{"class":70},[60,865,867,869,871,873,875],{"class":62,"line":866},63,[60,868,509],{"class":283},[60,870,177],{"class":66},[60,872,514],{"class":70},[60,874,517],{"class":70},[60,876,520],{"class":70},[60,878,880,882,884,886,888,890],{"class":62,"line":879},64,[60,881,526],{"class":66},[60,883,185],{"class":70},[60,885,531],{"class":188},[60,887,81],{"class":70},[60,889,536],{"class":66},[60,891,158],{"class":70},[60,893,895],{"class":62,"line":894},65,[60,896,544],{"class":70},[60,898,900,903,905,907,909,912,914,917],{"class":62,"line":899},66,[60,901,902],{"class":66},"pdfData",[60,904,174],{"class":70},[60,906,177],{"class":66},[60,908,71],{"class":70},[60,910,911],{"class":66}," doc",[60,913,185],{"class":70},[60,915,916],{"class":188},"Generate",[60,918,919],{"class":70},"()\n",[51,921,926],{"className":922,"code":924,"language":925},[923],"language-text","┌─ A4 ──────────────────────────────────────────────┐\n│                                                   │\n│  Quarterly Report - Q1 2026      ← 24pt bold      │\n│                                                   │\n│  Executive Summary               ← 16pt bold blue │\n│  Revenue increased 25% year-over-year, driven     │\n│  by new enterprise offerings.                     │\n│                                                   │\n│  Product Development                              │\n│  The gpdf library reached v0.8 with JSON schema   │\n│  and Go template support.                         │\n│                                                   │\n│  Market Analysis                                  │\n│  PDF generation market grows. Zero-dependency     │\n│  approach resonates with Go devs.                 │\n│                                                   │\n│  Next Steps                                       │\n│  Focus on reusable components, fuzz testing,      │\n│  and v1.0 release.                                │\n│                                                   │\n└───────────────────────────────────────────────────┘\n","text",[19,927,924],{"__ignoreMap":56},[10,929,931],{"id":930},"mapa-de-funcoes-de-template","Mapa de Funcoes de Template",[15,933,934,935,938],{},"Use ",[19,936,937],{},"TemplateFuncMap()"," ao analisar templates — ele fornece funcoes auxiliares:",[51,940,942],{"className":53,"code":941,"language":55,"meta":56,"style":56},"tmpl, err := gotemplate.New(\"doc\").Funcs(template.TemplateFuncMap()).Parse(tmplStr)\n",[19,943,944],{"__ignoreMap":56},[60,945,946,948,950,952,954,956,958,960,962,964,966,968,970,972,974,976,978,980,982,984,986,988],{"class":62,"line":63},[60,947,451],{"class":66},[60,949,174],{"class":70},[60,951,177],{"class":66},[60,953,71],{"class":70},[60,955,460],{"class":66},[60,957,185],{"class":70},[60,959,465],{"class":188},[60,961,81],{"class":70},[60,963,222],{"class":70},[60,965,171],{"class":87},[60,967,222],{"class":70},[60,969,477],{"class":70},[60,971,480],{"class":188},[60,973,81],{"class":70},[60,975,485],{"class":66},[60,977,185],{"class":70},[60,979,490],{"class":188},[60,981,493],{"class":70},[60,983,496],{"class":188},[60,985,81],{"class":70},[60,987,501],{"class":66},[60,989,158],{"class":70},[991,992,994],"h3",{"id":993},"funcoes-disponiveis","Funcoes Disponiveis",[996,997,998,1011],"table",{},[999,1000,1001],"thead",{},[1002,1003,1004,1008],"tr",{},[1005,1006,1007],"th",{},"Funcao",[1005,1009,1010],{},"Descricao",[1012,1013,1014],"tbody",{},[1002,1015,1016,1022],{},[1017,1018,1019],"td",{},[19,1020,1021],{},"toJSON",[1017,1023,1024],{},"Converte um valor Go para string JSON (util para incorporar dados)",[10,1026,1028],{"id":1027},"secoes-dinamicas-com-range","Secoes Dinamicas com Range",[15,1030,1031],{},"Itere sobre dados para gerar secoes repetidas:",[51,1033,1035],{"className":53,"code":1034,"language":55,"meta":56,"style":56},"{{- range $i, $item := .Items}}\n{{- if $i}},{{end}}\n{\"row\": {\"cols\": [\n    {\"span\": 6, \"text\": \"{{$item.Name}}\"},\n    {\"span\": 6, \"text\": \"{{$item.Value}}\", \"style\": {\"align\": \"right\"}}\n]}}\n{{- end}}\n",[19,1036,1037,1064,1081,1110,1147,1209,1214],{"__ignoreMap":56},[60,1038,1039,1042,1045,1048,1050,1053,1055,1058,1061],{"class":62,"line":63},[60,1040,1041],{"class":70},"{{-",[60,1043,1044],{"class":283}," range",[60,1046,1047],{"class":66}," $i",[60,1049,174],{"class":70},[60,1051,1052],{"class":66}," $item ",[60,1054,71],{"class":70},[60,1056,1057],{"class":70}," .",[60,1059,1060],{"class":66},"Items",[60,1062,1063],{"class":70},"}}\n",[60,1065,1066,1068,1071,1073,1076,1079],{"class":62,"line":91},[60,1067,1041],{"class":70},[60,1069,1070],{"class":283}," if",[60,1072,1047],{"class":66},[60,1074,1075],{"class":70},"}},{{",[60,1077,1078],{"class":66},"end",[60,1080,1063],{"class":70},[60,1082,1083,1086,1088,1091,1093,1095,1098,1100,1103,1105,1107],{"class":62,"line":97},[60,1084,1085],{"class":70},"{",[60,1087,222],{"class":70},[60,1089,1090],{"class":87},"row",[60,1092,222],{"class":70},[60,1094,225],{"class":70},[60,1096,1097],{"class":70}," {",[60,1099,222],{"class":70},[60,1101,1102],{"class":87},"cols",[60,1104,222],{"class":70},[60,1106,225],{"class":70},[60,1108,1109],{"class":70}," [\n",[60,1111,1112,1115,1117,1119,1121,1123,1127,1129,1131,1133,1135,1137,1139,1142,1144],{"class":62,"line":103},[60,1113,1114],{"class":70},"    {",[60,1116,222],{"class":70},[60,1118,60],{"class":87},[60,1120,222],{"class":70},[60,1122,225],{"class":70},[60,1124,1126],{"class":1125},"sbssI"," 6",[60,1128,174],{"class":70},[60,1130,251],{"class":70},[60,1132,925],{"class":87},[60,1134,222],{"class":70},[60,1136,225],{"class":70},[60,1138,251],{"class":70},[60,1140,1141],{"class":87},"{{$item.Name}}",[60,1143,222],{"class":70},[60,1145,1146],{"class":70},"},\n",[60,1148,1149,1151,1153,1155,1157,1159,1161,1163,1165,1167,1169,1171,1173,1176,1178,1180,1182,1185,1187,1189,1191,1193,1196,1198,1200,1202,1205,1207],{"class":62,"line":109},[60,1150,1114],{"class":70},[60,1152,222],{"class":70},[60,1154,60],{"class":87},[60,1156,222],{"class":70},[60,1158,225],{"class":70},[60,1160,1126],{"class":1125},[60,1162,174],{"class":70},[60,1164,251],{"class":70},[60,1166,925],{"class":87},[60,1168,222],{"class":70},[60,1170,225],{"class":70},[60,1172,251],{"class":70},[60,1174,1175],{"class":87},"{{$item.Value}}",[60,1177,222],{"class":70},[60,1179,174],{"class":70},[60,1181,251],{"class":70},[60,1183,1184],{"class":87},"style",[60,1186,222],{"class":70},[60,1188,225],{"class":70},[60,1190,1097],{"class":70},[60,1192,222],{"class":70},[60,1194,1195],{"class":87},"align",[60,1197,222],{"class":70},[60,1199,225],{"class":70},[60,1201,251],{"class":70},[60,1203,1204],{"class":87},"right",[60,1206,222],{"class":70},[60,1208,1063],{"class":70},[60,1210,1211],{"class":62,"line":115},[60,1212,1213],{"class":70},"]}}\n",[60,1215,1216,1218,1221],{"class":62,"line":121},[60,1217,1041],{"class":70},[60,1219,1220],{"class":66}," end",[60,1222,1063],{"class":70},[10,1224,1226],{"id":1225},"condicionais","Condicionais",[15,1228,934,1229,1231],{},[19,1230,509],{}," para conteudo condicional:",[51,1233,1235],{"className":53,"code":1234,"language":55,"meta":56,"style":56},"{{- if .ShowHeader}}\n{\"row\": {\"cols\": [\n    {\"span\": 12, \"text\": \"{{.HeaderText}}\", \"style\": {\"size\": 20, \"bold\": true}}\n]}},\n{{- end}}\n",[19,1236,1237,1250,1274,1347,1352],{"__ignoreMap":56},[60,1238,1239,1241,1243,1245,1248],{"class":62,"line":63},[60,1240,1041],{"class":70},[60,1242,1070],{"class":283},[60,1244,1057],{"class":70},[60,1246,1247],{"class":66},"ShowHeader",[60,1249,1063],{"class":70},[60,1251,1252,1254,1256,1258,1260,1262,1264,1266,1268,1270,1272],{"class":62,"line":91},[60,1253,1085],{"class":70},[60,1255,222],{"class":70},[60,1257,1090],{"class":87},[60,1259,222],{"class":70},[60,1261,225],{"class":70},[60,1263,1097],{"class":70},[60,1265,222],{"class":70},[60,1267,1102],{"class":87},[60,1269,222],{"class":70},[60,1271,225],{"class":70},[60,1273,1109],{"class":70},[60,1275,1276,1278,1280,1282,1284,1286,1289,1291,1293,1295,1297,1299,1301,1304,1306,1308,1310,1312,1314,1316,1318,1320,1323,1325,1327,1330,1332,1334,1337,1339,1341,1345],{"class":62,"line":97},[60,1277,1114],{"class":70},[60,1279,222],{"class":70},[60,1281,60],{"class":87},[60,1283,222],{"class":70},[60,1285,225],{"class":70},[60,1287,1288],{"class":1125}," 12",[60,1290,174],{"class":70},[60,1292,251],{"class":70},[60,1294,925],{"class":87},[60,1296,222],{"class":70},[60,1298,225],{"class":70},[60,1300,251],{"class":70},[60,1302,1303],{"class":87},"{{.HeaderText}}",[60,1305,222],{"class":70},[60,1307,174],{"class":70},[60,1309,251],{"class":70},[60,1311,1184],{"class":87},[60,1313,222],{"class":70},[60,1315,225],{"class":70},[60,1317,1097],{"class":70},[60,1319,222],{"class":70},[60,1321,1322],{"class":87},"size",[60,1324,222],{"class":70},[60,1326,225],{"class":70},[60,1328,1329],{"class":1125}," 20",[60,1331,174],{"class":70},[60,1333,251],{"class":70},[60,1335,1336],{"class":87},"bold",[60,1338,222],{"class":70},[60,1340,225],{"class":70},[60,1342,1344],{"class":1343},"sfNiH"," true",[60,1346,1063],{"class":70},[60,1348,1349],{"class":62,"line":103},[60,1350,1351],{"class":70},"]}},\n",[60,1353,1354,1356,1358],{"class":62,"line":109},[60,1355,1041],{"class":70},[60,1357,1220],{"class":66},[60,1359,1063],{"class":70},[10,1361,1363],{"id":1362},"dicas","Dicas",[1365,1366,1367,1376,1387,1392],"ul",{},[30,1368,934,1369,1371,1372,1375],{},[19,1370,1041],{}," e ",[19,1373,1374],{},"-}}"," para remover espacos em branco ao redor de acoes de template",[30,1377,1378,1379,1382,1383,1386],{},"Trate virgulas JSON com cuidado em loops ",[19,1380,1381],{},"range"," (use ",[19,1384,1385],{},"{{if $i}},{{end}}",")",[30,1388,934,1389,1391],{},[19,1390,937],{}," para obter funcoes auxiliares integradas",[30,1393,1394,1395,1398,1399,1402],{},"Opcoes Go (",[19,1396,1397],{},"WithFont",", ",[19,1400,1401],{},"WithMargins",", etc.) podem sobrescrever configuracoes do template:",[51,1404,1406],{"className":53,"code":1405,"language":55,"meta":56,"style":56},"doc, err := template.FromTemplate(tmpl, data,\n    template.WithFont(\"NotoSansJP\", fontData),\n    template.WithDefaultFont(\"NotoSansJP\", 12),\n)\n",[19,1407,1408,1434,1460,1483],{"__ignoreMap":56},[60,1409,1410,1412,1414,1416,1418,1420,1422,1424,1426,1428,1430,1432],{"class":62,"line":63},[60,1411,171],{"class":66},[60,1413,174],{"class":70},[60,1415,177],{"class":66},[60,1417,71],{"class":70},[60,1419,182],{"class":66},[60,1421,185],{"class":70},[60,1423,41],{"class":188},[60,1425,81],{"class":70},[60,1427,451],{"class":66},[60,1429,174],{"class":70},[60,1431,861],{"class":66},[60,1433,236],{"class":70},[60,1435,1436,1439,1441,1443,1445,1447,1450,1452,1454,1457],{"class":62,"line":91},[60,1437,1438],{"class":66},"    template",[60,1440,185],{"class":70},[60,1442,1397],{"class":188},[60,1444,81],{"class":70},[60,1446,222],{"class":70},[60,1448,1449],{"class":87},"NotoSansJP",[60,1451,222],{"class":70},[60,1453,174],{"class":70},[60,1455,1456],{"class":66}," fontData",[60,1458,1459],{"class":70},"),\n",[60,1461,1462,1464,1466,1469,1471,1473,1475,1477,1479,1481],{"class":62,"line":97},[60,1463,1438],{"class":66},[60,1465,185],{"class":70},[60,1467,1468],{"class":188},"WithDefaultFont",[60,1470,81],{"class":70},[60,1472,222],{"class":70},[60,1474,1449],{"class":87},[60,1476,222],{"class":70},[60,1478,174],{"class":70},[60,1480,1288],{"class":1125},[60,1482,1459],{"class":70},[60,1484,1485],{"class":62,"line":103},[60,1486,158],{"class":70},[1184,1488,1489],{},"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 .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}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 .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 .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}",{"title":56,"searchDepth":91,"depth":91,"links":1491},[1492,1493,1494,1495,1498,1499,1500],{"id":12,"depth":91,"text":13},{"id":45,"depth":91,"text":46},{"id":267,"depth":91,"text":268},{"id":930,"depth":91,"text":931,"children":1496},[1497],{"id":993,"depth":97,"text":994},{"id":1027,"depth":91,"text":1028},{"id":1225,"depth":91,"text":1226},{"id":1362,"depth":91,"text":1363},"Geracao dinamica de PDF com Go text/template","md",{},"/pt/docs/api-reference/go-templates",{"title":5,"description":1501},"pt/docs/3.api-reference/6.go-templates","owGk0k19bOJstLv_2gkgdWkwRJa8nLjIoBeP81ntI9Q",1776529293070]