[{"data":1,"prerenderedAt":3391},["ShallowReactive",2],{"docs-en-api-reference/json-schema":3},{"id":4,"title":5,"body":6,"description":3384,"extension":3385,"meta":3386,"navigation":130,"path":3387,"seo":3388,"stem":3389,"__hash__":3390},"docs/docs/3.api-reference/5.json-schema.md","JSON Schema",{"type":7,"value":8,"toc":3361},"minimark",[9,14,18,34,38,231,239,243,246,431,435,659,664,733,737,846,850,1345,1351,1355,1359,1362,1503,1507,1514,1766,1770,1899,2012,2016,2251,2255,2413,2417,2483,2487,2554,2558,2561,3025,3031,3135,3139,3191,3195,3223,3232,3236,3239,3358],[10,11,13],"h2",{"id":12},"overview","Overview",[15,16,17],"p",{},"gpdf supports defining documents entirely in JSON. This is ideal for:",[19,20,21,25,28,31],"ul",{},[22,23,24],"li",{},"API-driven PDF generation",[22,26,27],{},"Dynamic documents from external data",[22,29,30],{},"Template systems without Go code",[22,32,33],{},"Configuration-based document creation",[10,35,37],{"id":36},"basic-usage","Basic Usage",[39,40,45],"pre",{"className":41,"code":42,"language":43,"meta":44,"style":44},"language-go shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","schema := []byte(`{\n    \"page\": {\"size\": \"A4\", \"margins\": \"20mm\"},\n    \"body\": [\n        {\"row\": {\"cols\": [\n            {\"span\": 12, \"text\": \"Hello from JSON!\", \"style\": {\"size\": 24, \"bold\": true}}\n        ]}}\n    ]\n}`)\n\ndoc, err := template.FromJSON(schema, nil)\nif err != nil {\n    log.Fatal(err)\n}\ndata, err := doc.Generate()\n","go","",[46,47,48,78,84,90,96,102,108,114,125,132,166,184,202,208],"code",{"__ignoreMap":44},[49,50,53,57,61,64,68,71,74],"span",{"class":51,"line":52},"line",1,[49,54,56],{"class":55},"sTEyZ","schema ",[49,58,60],{"class":59},"sMK4o",":=",[49,62,63],{"class":59}," []",[49,65,67],{"class":66},"spNyl","byte",[49,69,70],{"class":59},"(",[49,72,73],{"class":59},"`",[49,75,77],{"class":76},"sfazB","{\n",[49,79,81],{"class":51,"line":80},2,[49,82,83],{"class":76},"    \"page\": {\"size\": \"A4\", \"margins\": \"20mm\"},\n",[49,85,87],{"class":51,"line":86},3,[49,88,89],{"class":76},"    \"body\": [\n",[49,91,93],{"class":51,"line":92},4,[49,94,95],{"class":76},"        {\"row\": {\"cols\": [\n",[49,97,99],{"class":51,"line":98},5,[49,100,101],{"class":76},"            {\"span\": 12, \"text\": \"Hello from JSON!\", \"style\": {\"size\": 24, \"bold\": true}}\n",[49,103,105],{"class":51,"line":104},6,[49,106,107],{"class":76},"        ]}}\n",[49,109,111],{"class":51,"line":110},7,[49,112,113],{"class":76},"    ]\n",[49,115,117,120,122],{"class":51,"line":116},8,[49,118,119],{"class":76},"}",[49,121,73],{"class":59},[49,123,124],{"class":59},")\n",[49,126,128],{"class":51,"line":127},9,[49,129,131],{"emptyLinePlaceholder":130},true,"\n",[49,133,135,138,141,144,146,149,152,156,158,161,163],{"class":51,"line":134},10,[49,136,137],{"class":55},"doc",[49,139,140],{"class":59},",",[49,142,143],{"class":55}," err ",[49,145,60],{"class":59},[49,147,148],{"class":55}," template",[49,150,151],{"class":59},".",[49,153,155],{"class":154},"s2Zo4","FromJSON",[49,157,70],{"class":59},[49,159,160],{"class":55},"schema",[49,162,140],{"class":59},[49,164,165],{"class":59}," nil)\n",[49,167,169,173,175,178,181],{"class":51,"line":168},11,[49,170,172],{"class":171},"s7zQu","if",[49,174,143],{"class":55},[49,176,177],{"class":59},"!=",[49,179,180],{"class":59}," nil",[49,182,183],{"class":59}," {\n",[49,185,187,190,192,195,197,200],{"class":51,"line":186},12,[49,188,189],{"class":55},"    log",[49,191,151],{"class":59},[49,193,194],{"class":154},"Fatal",[49,196,70],{"class":59},[49,198,199],{"class":55},"err",[49,201,124],{"class":59},[49,203,205],{"class":51,"line":204},13,[49,206,207],{"class":59},"}\n",[49,209,211,214,216,218,220,223,225,228],{"class":51,"line":210},14,[49,212,213],{"class":55},"data",[49,215,140],{"class":59},[49,217,143],{"class":55},[49,219,60],{"class":59},[49,221,222],{"class":55}," doc",[49,224,151],{"class":59},[49,226,227],{"class":154},"Generate",[49,229,230],{"class":59},"()\n",[39,232,237],{"className":233,"code":235,"language":236},[234],"language-text","┌─ A4 ──────────────────────────────────┐\n│                                       │\n│   Hello from JSON!   ← 24pt, Bold    │\n│                                       │\n└───────────────────────────────────────┘\n","text",[46,238,235],{"__ignoreMap":44},[10,240,242],{"id":241},"data-binding-with-go-templates","Data Binding with Go Templates",[15,244,245],{},"JSON schemas support Go template expressions for dynamic content:",[39,247,249],{"className":41,"code":248,"language":43,"meta":44,"style":44},"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\ndata := map[string]any{\n    \"Title\":  \"Quarterly Report\",\n    \"Author\": \"ACME Corporation\",\n}\n\ndoc, err := template.FromJSON(schema, data)\n",[46,250,251,267,271,276,280,284,289,294,298,303,307,311,319,323,345,371,393,398,403],{"__ignoreMap":44},[49,252,253,255,257,259,261,263,265],{"class":51,"line":52},[49,254,56],{"class":55},[49,256,60],{"class":59},[49,258,63],{"class":59},[49,260,67],{"class":66},[49,262,70],{"class":59},[49,264,73],{"class":59},[49,266,77],{"class":76},[49,268,269],{"class":51,"line":80},[49,270,83],{"class":76},[49,272,273],{"class":51,"line":86},[49,274,275],{"class":76},"    \"metadata\": {\"title\": \"{{.Title}}\"},\n",[49,277,278],{"class":51,"line":92},[49,279,89],{"class":76},[49,281,282],{"class":51,"line":98},[49,283,95],{"class":76},[49,285,286],{"class":51,"line":104},[49,287,288],{"class":76},"            {\"span\": 12, \"text\": \"{{.Title}}\", \"style\": {\"size\": 24, \"bold\": true}}\n",[49,290,291],{"class":51,"line":110},[49,292,293],{"class":76},"        ]}},\n",[49,295,296],{"class":51,"line":116},[49,297,95],{"class":76},[49,299,300],{"class":51,"line":127},[49,301,302],{"class":76},"            {\"span\": 12, \"text\": \"Author: {{.Author}}\"}\n",[49,304,305],{"class":51,"line":134},[49,306,107],{"class":76},[49,308,309],{"class":51,"line":168},[49,310,113],{"class":76},[49,312,313,315,317],{"class":51,"line":186},[49,314,119],{"class":76},[49,316,73],{"class":59},[49,318,124],{"class":59},[49,320,321],{"class":51,"line":204},[49,322,131],{"emptyLinePlaceholder":130},[49,324,325,328,330,333,336,339,343],{"class":51,"line":210},[49,326,327],{"class":55},"data ",[49,329,60],{"class":59},[49,331,332],{"class":59}," map[",[49,334,335],{"class":66},"string",[49,337,338],{"class":59},"]",[49,340,342],{"class":341},"sBMFI","any",[49,344,77],{"class":59},[49,346,348,351,354,357,360,363,366,368],{"class":51,"line":347},15,[49,349,350],{"class":59},"    \"",[49,352,353],{"class":76},"Title",[49,355,356],{"class":59},"\"",[49,358,359],{"class":59},":",[49,361,362],{"class":59},"  \"",[49,364,365],{"class":76},"Quarterly Report",[49,367,356],{"class":59},[49,369,370],{"class":59},",\n",[49,372,374,376,379,381,383,386,389,391],{"class":51,"line":373},16,[49,375,350],{"class":59},[49,377,378],{"class":76},"Author",[49,380,356],{"class":59},[49,382,359],{"class":59},[49,384,385],{"class":59}," \"",[49,387,388],{"class":76},"ACME Corporation",[49,390,356],{"class":59},[49,392,370],{"class":59},[49,394,396],{"class":51,"line":395},17,[49,397,207],{"class":59},[49,399,401],{"class":51,"line":400},18,[49,402,131],{"emptyLinePlaceholder":130},[49,404,406,408,410,412,414,416,418,420,422,424,426,429],{"class":51,"line":405},19,[49,407,137],{"class":55},[49,409,140],{"class":59},[49,411,143],{"class":55},[49,413,60],{"class":59},[49,415,148],{"class":55},[49,417,151],{"class":59},[49,419,155],{"class":154},[49,421,70],{"class":59},[49,423,160],{"class":55},[49,425,140],{"class":59},[49,427,428],{"class":55}," data",[49,430,124],{"class":59},[10,432,434],{"id":433},"schema-structure","Schema Structure",[39,436,440],{"className":437,"code":438,"language":439,"meta":44,"style":44},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n    \"page\": {\n        \"size\": \"A4\",\n        \"margins\": \"20mm\"\n    },\n    \"metadata\": {\n        \"title\": \"Document Title\",\n        \"author\": \"Author Name\",\n        \"subject\": \"Subject\",\n        \"creator\": \"Creator\"\n    },\n    \"header\": [ /* rows */ ],\n    \"footer\": [ /* rows */ ],\n    \"body\": [ /* rows */ ]\n}\n","json",[46,441,442,446,459,480,499,504,517,537,557,577,595,599,620,637,655],{"__ignoreMap":44},[49,443,444],{"class":51,"line":52},[49,445,77],{"class":59},[49,447,448,450,453,455,457],{"class":51,"line":80},[49,449,350],{"class":59},[49,451,452],{"class":66},"page",[49,454,356],{"class":59},[49,456,359],{"class":59},[49,458,183],{"class":59},[49,460,461,464,467,469,471,473,476,478],{"class":51,"line":86},[49,462,463],{"class":59},"        \"",[49,465,466],{"class":341},"size",[49,468,356],{"class":59},[49,470,359],{"class":59},[49,472,385],{"class":59},[49,474,475],{"class":76},"A4",[49,477,356],{"class":59},[49,479,370],{"class":59},[49,481,482,484,487,489,491,493,496],{"class":51,"line":92},[49,483,463],{"class":59},[49,485,486],{"class":341},"margins",[49,488,356],{"class":59},[49,490,359],{"class":59},[49,492,385],{"class":59},[49,494,495],{"class":76},"20mm",[49,497,498],{"class":59},"\"\n",[49,500,501],{"class":51,"line":98},[49,502,503],{"class":59},"    },\n",[49,505,506,508,511,513,515],{"class":51,"line":104},[49,507,350],{"class":59},[49,509,510],{"class":66},"metadata",[49,512,356],{"class":59},[49,514,359],{"class":59},[49,516,183],{"class":59},[49,518,519,521,524,526,528,530,533,535],{"class":51,"line":110},[49,520,463],{"class":59},[49,522,523],{"class":341},"title",[49,525,356],{"class":59},[49,527,359],{"class":59},[49,529,385],{"class":59},[49,531,532],{"class":76},"Document Title",[49,534,356],{"class":59},[49,536,370],{"class":59},[49,538,539,541,544,546,548,550,553,555],{"class":51,"line":116},[49,540,463],{"class":59},[49,542,543],{"class":341},"author",[49,545,356],{"class":59},[49,547,359],{"class":59},[49,549,385],{"class":59},[49,551,552],{"class":76},"Author Name",[49,554,356],{"class":59},[49,556,370],{"class":59},[49,558,559,561,564,566,568,570,573,575],{"class":51,"line":127},[49,560,463],{"class":59},[49,562,563],{"class":341},"subject",[49,565,356],{"class":59},[49,567,359],{"class":59},[49,569,385],{"class":59},[49,571,572],{"class":76},"Subject",[49,574,356],{"class":59},[49,576,370],{"class":59},[49,578,579,581,584,586,588,590,593],{"class":51,"line":134},[49,580,463],{"class":59},[49,582,583],{"class":341},"creator",[49,585,356],{"class":59},[49,587,359],{"class":59},[49,589,385],{"class":59},[49,591,592],{"class":76},"Creator",[49,594,498],{"class":59},[49,596,597],{"class":51,"line":168},[49,598,503],{"class":59},[49,600,601,603,606,608,610,613,617],{"class":51,"line":186},[49,602,350],{"class":59},[49,604,605],{"class":66},"header",[49,607,356],{"class":59},[49,609,359],{"class":59},[49,611,612],{"class":59}," [",[49,614,616],{"class":615},"sHwdD"," /* rows */",[49,618,619],{"class":59}," ],\n",[49,621,622,624,627,629,631,633,635],{"class":51,"line":204},[49,623,350],{"class":59},[49,625,626],{"class":66},"footer",[49,628,356],{"class":59},[49,630,359],{"class":59},[49,632,612],{"class":59},[49,634,616],{"class":615},[49,636,619],{"class":59},[49,638,639,641,644,646,648,650,652],{"class":51,"line":210},[49,640,350],{"class":59},[49,642,643],{"class":66},"body",[49,645,356],{"class":59},[49,647,359],{"class":59},[49,649,612],{"class":59},[49,651,616],{"class":615},[49,653,654],{"class":59}," ]\n",[49,656,657],{"class":51,"line":347},[49,658,207],{"class":59},[660,661,663],"h3",{"id":662},"page-configuration","Page Configuration",[665,666,667,683],"table",{},[668,669,670],"thead",{},[671,672,673,677,680],"tr",{},[674,675,676],"th",{},"Field",[674,678,679],{},"Values",[674,681,682],{},"Default",[684,685,686,712],"tbody",{},[671,687,688,693,708],{},[689,690,691],"td",{},[46,692,466],{},[689,694,695,698,699,698,702,698,705],{},[46,696,697],{},"\"A4\"",", ",[46,700,701],{},"\"A3\"",[46,703,704],{},"\"Letter\"",[46,706,707],{},"\"Legal\"",[689,709,710],{},[46,711,697],{},[671,713,714,718,730],{},[689,715,716],{},[46,717,486],{},[689,719,720,721,698,724,698,727],{},"Dimension string: ",[46,722,723],{},"\"20mm\"",[46,725,726],{},"\"1in\"",[46,728,729],{},"\"15pt\"",[689,731,732],{},"—",[660,734,736],{"id":735},"rows-and-columns","Rows and Columns",[39,738,740],{"className":437,"code":739,"language":439,"meta":44,"style":44},"{\"row\": {\"cols\": [\n    {\"span\": 6, \"text\": \"Left column\"},\n    {\"span\": 6, \"text\": \"Right column\"}\n]}}\n",[46,741,742,771,808,841],{"__ignoreMap":44},[49,743,744,747,749,752,754,756,759,761,764,766,768],{"class":51,"line":52},[49,745,746],{"class":59},"{",[49,748,356],{"class":59},[49,750,751],{"class":66},"row",[49,753,356],{"class":59},[49,755,359],{"class":59},[49,757,758],{"class":59}," {",[49,760,356],{"class":59},[49,762,763],{"class":341},"cols",[49,765,356],{"class":59},[49,767,359],{"class":59},[49,769,770],{"class":59}," [\n",[49,772,773,776,778,781,783,785,788,790,792,794,796,798,800,803,805],{"class":51,"line":80},[49,774,775],{"class":59},"    {",[49,777,356],{"class":59},[49,779,49],{"class":780},"sbssI",[49,782,356],{"class":59},[49,784,359],{"class":59},[49,786,787],{"class":780}," 6",[49,789,140],{"class":59},[49,791,385],{"class":59},[49,793,236],{"class":780},[49,795,356],{"class":59},[49,797,359],{"class":59},[49,799,385],{"class":59},[49,801,802],{"class":76},"Left column",[49,804,356],{"class":59},[49,806,807],{"class":59},"},\n",[49,809,810,812,814,816,818,820,822,824,826,828,830,832,834,837,839],{"class":51,"line":86},[49,811,775],{"class":59},[49,813,356],{"class":59},[49,815,49],{"class":780},[49,817,356],{"class":59},[49,819,359],{"class":59},[49,821,787],{"class":780},[49,823,140],{"class":59},[49,825,385],{"class":59},[49,827,236],{"class":780},[49,829,356],{"class":59},[49,831,359],{"class":59},[49,833,385],{"class":59},[49,835,836],{"class":76},"Right column",[49,838,356],{"class":59},[49,840,207],{"class":59},[49,842,843],{"class":51,"line":92},[49,844,845],{"class":59},"]}}\n",[10,847,849],{"id":848},"complete-example","Complete Example",[39,851,853],{"className":41,"code":852,"language":43,"meta":44,"style":44},"schema := []byte(`{\n    \"page\": {\"size\": \"A4\", \"margins\": \"20mm\"},\n    \"metadata\": {\"title\": \"JSON Schema Example\", \"author\": \"gpdf\"},\n    \"header\": [\n        {\"row\": {\"cols\": [\n            {\"span\": 6, \"text\": \"gpdf JSON Schema\", \"style\": {\"size\": 16, \"bold\": true, \"color\": \"#1A237E\"}},\n            {\"span\": 6, \"text\": \"Document Header\", \"style\": {\"align\": \"right\", \"italic\": true}}\n        ]}},\n        {\"row\": {\"cols\": [\n            {\"span\": 12, \"line\": {\"color\": \"#1A237E\", \"thickness\": \"1pt\"}}\n        ]}}\n    ],\n    \"footer\": [\n        {\"row\": {\"cols\": [\n            {\"span\": 12, \"elements\": [\n                {\"type\": \"line\"},\n                {\"type\": \"pageNumber\", \"style\": {\"align\": \"center\"}}\n            ]}\n        ]}}\n    ],\n    \"body\": [\n        {\"row\": {\"cols\": [\n            {\"span\": 12, \"text\": \"JSON Schema Generation\", \"style\": {\"size\": 24, \"bold\": true}}\n        ]}},\n        {\"row\": {\"cols\": [\n            {\"span\": 12, \"spacer\": \"5mm\"}\n        ]}},\n        {\"row\": {\"cols\": [\n            {\"span\": 12, \"text\": \"This PDF was generated from a JSON schema. No Go builder code needed!\"}\n        ]}},\n        {\"row\": {\"cols\": [\n            {\"span\": 12, \"spacer\": \"10mm\"}\n        ]}},\n        {\"row\": {\"cols\": [\n            {\"span\": 6, \"elements\": [\n                {\"type\": \"text\", \"content\": \"Features\", \"style\": {\"size\": 16, \"bold\": true}},\n                {\"type\": \"list\", \"list\": {\"items\": [\n                    \"Declarative document definition\",\n                    \"All element types supported\",\n                    \"Style options\",\n                    \"Header and footer support\"\n                ]}}\n            ]},\n            {\"span\": 6, \"elements\": [\n                {\"type\": \"text\", \"content\": \"Supported Elements\", \"style\": {\"size\": 16, \"bold\": true}},\n                {\"type\": \"list\", \"list\": {\"type\": \"ordered\", \"items\": [\n                    \"Text with styles\",\n                    \"Tables with headers\",\n                    \"Lists (ordered/unordered)\",\n                    \"Lines and spacers\",\n                    \"QR codes and barcodes\",\n                    \"Images (base64)\"\n                ]}}\n            ]}\n        ]}},\n        {\"row\": {\"cols\": [\n            {\"span\": 12, \"spacer\": \"10mm\"}\n        ]}},\n        {\"row\": {\"cols\": [\n            {\"span\": 12, \"table\": {\n                \"header\": [\"Feature\", \"Format\", \"Status\"],\n                \"rows\": [\n                    [\"Text styling\", \"JSON style object\", \"Supported\"],\n                    [\"Tables\", \"header + rows arrays\", \"Supported\"],\n                    [\"Lists\", \"ordered/unordered\", \"Supported\"],\n                    [\"Images\", \"base64 encoded\", \"Supported\"],\n                    [\"QR codes\", \"data string\", \"Supported\"],\n                    [\"Barcodes\", \"Code128\", \"Supported\"]\n                ],\n                \"columnWidths\": [35, 35, 30],\n                \"headerStyle\": {\"bold\": true, \"color\": \"white\", \"background\": \"#1A237E\"},\n                \"stripeColor\": \"#F5F5F5\"\n            }}\n        ]}},\n        {\"row\": {\"cols\": [\n            {\"span\": 12, \"spacer\": \"10mm\"}\n        ]}},\n        {\"row\": {\"cols\": [\n            {\"span\": 6, \"qrcode\": {\"data\": \"https://gpdf.dev\", \"size\": \"25mm\"}},\n            {\"span\": 6, \"barcode\": {\"data\": \"GPDF-JSON-001\", \"format\": \"code128\"}}\n        ]}}\n    ]\n}`)\n\ndoc, err := template.FromJSON(schema, nil)\n",[46,854,855,871,875,880,885,889,894,899,903,907,912,916,921,926,930,935,940,945,950,954,959,964,969,975,980,985,991,996,1001,1007,1012,1017,1023,1028,1033,1039,1045,1051,1057,1063,1069,1075,1081,1087,1092,1098,1104,1110,1116,1122,1128,1134,1140,1145,1150,1155,1160,1165,1170,1175,1181,1187,1193,1199,1205,1211,1217,1223,1229,1235,1241,1247,1253,1259,1264,1269,1274,1279,1284,1290,1296,1301,1306,1315,1320],{"__ignoreMap":44},[49,856,857,859,861,863,865,867,869],{"class":51,"line":52},[49,858,56],{"class":55},[49,860,60],{"class":59},[49,862,63],{"class":59},[49,864,67],{"class":66},[49,866,70],{"class":59},[49,868,73],{"class":59},[49,870,77],{"class":76},[49,872,873],{"class":51,"line":80},[49,874,83],{"class":76},[49,876,877],{"class":51,"line":86},[49,878,879],{"class":76},"    \"metadata\": {\"title\": \"JSON Schema Example\", \"author\": \"gpdf\"},\n",[49,881,882],{"class":51,"line":92},[49,883,884],{"class":76},"    \"header\": [\n",[49,886,887],{"class":51,"line":98},[49,888,95],{"class":76},[49,890,891],{"class":51,"line":104},[49,892,893],{"class":76},"            {\"span\": 6, \"text\": \"gpdf JSON Schema\", \"style\": {\"size\": 16, \"bold\": true, \"color\": \"#1A237E\"}},\n",[49,895,896],{"class":51,"line":110},[49,897,898],{"class":76},"            {\"span\": 6, \"text\": \"Document Header\", \"style\": {\"align\": \"right\", \"italic\": true}}\n",[49,900,901],{"class":51,"line":116},[49,902,293],{"class":76},[49,904,905],{"class":51,"line":127},[49,906,95],{"class":76},[49,908,909],{"class":51,"line":134},[49,910,911],{"class":76},"            {\"span\": 12, \"line\": {\"color\": \"#1A237E\", \"thickness\": \"1pt\"}}\n",[49,913,914],{"class":51,"line":168},[49,915,107],{"class":76},[49,917,918],{"class":51,"line":186},[49,919,920],{"class":76},"    ],\n",[49,922,923],{"class":51,"line":204},[49,924,925],{"class":76},"    \"footer\": [\n",[49,927,928],{"class":51,"line":210},[49,929,95],{"class":76},[49,931,932],{"class":51,"line":347},[49,933,934],{"class":76},"            {\"span\": 12, \"elements\": [\n",[49,936,937],{"class":51,"line":373},[49,938,939],{"class":76},"                {\"type\": \"line\"},\n",[49,941,942],{"class":51,"line":395},[49,943,944],{"class":76},"                {\"type\": \"pageNumber\", \"style\": {\"align\": \"center\"}}\n",[49,946,947],{"class":51,"line":400},[49,948,949],{"class":76},"            ]}\n",[49,951,952],{"class":51,"line":405},[49,953,107],{"class":76},[49,955,957],{"class":51,"line":956},20,[49,958,920],{"class":76},[49,960,962],{"class":51,"line":961},21,[49,963,89],{"class":76},[49,965,967],{"class":51,"line":966},22,[49,968,95],{"class":76},[49,970,972],{"class":51,"line":971},23,[49,973,974],{"class":76},"            {\"span\": 12, \"text\": \"JSON Schema Generation\", \"style\": {\"size\": 24, \"bold\": true}}\n",[49,976,978],{"class":51,"line":977},24,[49,979,293],{"class":76},[49,981,983],{"class":51,"line":982},25,[49,984,95],{"class":76},[49,986,988],{"class":51,"line":987},26,[49,989,990],{"class":76},"            {\"span\": 12, \"spacer\": \"5mm\"}\n",[49,992,994],{"class":51,"line":993},27,[49,995,293],{"class":76},[49,997,999],{"class":51,"line":998},28,[49,1000,95],{"class":76},[49,1002,1004],{"class":51,"line":1003},29,[49,1005,1006],{"class":76},"            {\"span\": 12, \"text\": \"This PDF was generated from a JSON schema. No Go builder code needed!\"}\n",[49,1008,1010],{"class":51,"line":1009},30,[49,1011,293],{"class":76},[49,1013,1015],{"class":51,"line":1014},31,[49,1016,95],{"class":76},[49,1018,1020],{"class":51,"line":1019},32,[49,1021,1022],{"class":76},"            {\"span\": 12, \"spacer\": \"10mm\"}\n",[49,1024,1026],{"class":51,"line":1025},33,[49,1027,293],{"class":76},[49,1029,1031],{"class":51,"line":1030},34,[49,1032,95],{"class":76},[49,1034,1036],{"class":51,"line":1035},35,[49,1037,1038],{"class":76},"            {\"span\": 6, \"elements\": [\n",[49,1040,1042],{"class":51,"line":1041},36,[49,1043,1044],{"class":76},"                {\"type\": \"text\", \"content\": \"Features\", \"style\": {\"size\": 16, \"bold\": true}},\n",[49,1046,1048],{"class":51,"line":1047},37,[49,1049,1050],{"class":76},"                {\"type\": \"list\", \"list\": {\"items\": [\n",[49,1052,1054],{"class":51,"line":1053},38,[49,1055,1056],{"class":76},"                    \"Declarative document definition\",\n",[49,1058,1060],{"class":51,"line":1059},39,[49,1061,1062],{"class":76},"                    \"All element types supported\",\n",[49,1064,1066],{"class":51,"line":1065},40,[49,1067,1068],{"class":76},"                    \"Style options\",\n",[49,1070,1072],{"class":51,"line":1071},41,[49,1073,1074],{"class":76},"                    \"Header and footer support\"\n",[49,1076,1078],{"class":51,"line":1077},42,[49,1079,1080],{"class":76},"                ]}}\n",[49,1082,1084],{"class":51,"line":1083},43,[49,1085,1086],{"class":76},"            ]},\n",[49,1088,1090],{"class":51,"line":1089},44,[49,1091,1038],{"class":76},[49,1093,1095],{"class":51,"line":1094},45,[49,1096,1097],{"class":76},"                {\"type\": \"text\", \"content\": \"Supported Elements\", \"style\": {\"size\": 16, \"bold\": true}},\n",[49,1099,1101],{"class":51,"line":1100},46,[49,1102,1103],{"class":76},"                {\"type\": \"list\", \"list\": {\"type\": \"ordered\", \"items\": [\n",[49,1105,1107],{"class":51,"line":1106},47,[49,1108,1109],{"class":76},"                    \"Text with styles\",\n",[49,1111,1113],{"class":51,"line":1112},48,[49,1114,1115],{"class":76},"                    \"Tables with headers\",\n",[49,1117,1119],{"class":51,"line":1118},49,[49,1120,1121],{"class":76},"                    \"Lists (ordered/unordered)\",\n",[49,1123,1125],{"class":51,"line":1124},50,[49,1126,1127],{"class":76},"                    \"Lines and spacers\",\n",[49,1129,1131],{"class":51,"line":1130},51,[49,1132,1133],{"class":76},"                    \"QR codes and barcodes\",\n",[49,1135,1137],{"class":51,"line":1136},52,[49,1138,1139],{"class":76},"                    \"Images (base64)\"\n",[49,1141,1143],{"class":51,"line":1142},53,[49,1144,1080],{"class":76},[49,1146,1148],{"class":51,"line":1147},54,[49,1149,949],{"class":76},[49,1151,1153],{"class":51,"line":1152},55,[49,1154,293],{"class":76},[49,1156,1158],{"class":51,"line":1157},56,[49,1159,95],{"class":76},[49,1161,1163],{"class":51,"line":1162},57,[49,1164,1022],{"class":76},[49,1166,1168],{"class":51,"line":1167},58,[49,1169,293],{"class":76},[49,1171,1173],{"class":51,"line":1172},59,[49,1174,95],{"class":76},[49,1176,1178],{"class":51,"line":1177},60,[49,1179,1180],{"class":76},"            {\"span\": 12, \"table\": {\n",[49,1182,1184],{"class":51,"line":1183},61,[49,1185,1186],{"class":76},"                \"header\": [\"Feature\", \"Format\", \"Status\"],\n",[49,1188,1190],{"class":51,"line":1189},62,[49,1191,1192],{"class":76},"                \"rows\": [\n",[49,1194,1196],{"class":51,"line":1195},63,[49,1197,1198],{"class":76},"                    [\"Text styling\", \"JSON style object\", \"Supported\"],\n",[49,1200,1202],{"class":51,"line":1201},64,[49,1203,1204],{"class":76},"                    [\"Tables\", \"header + rows arrays\", \"Supported\"],\n",[49,1206,1208],{"class":51,"line":1207},65,[49,1209,1210],{"class":76},"                    [\"Lists\", \"ordered/unordered\", \"Supported\"],\n",[49,1212,1214],{"class":51,"line":1213},66,[49,1215,1216],{"class":76},"                    [\"Images\", \"base64 encoded\", \"Supported\"],\n",[49,1218,1220],{"class":51,"line":1219},67,[49,1221,1222],{"class":76},"                    [\"QR codes\", \"data string\", \"Supported\"],\n",[49,1224,1226],{"class":51,"line":1225},68,[49,1227,1228],{"class":76},"                    [\"Barcodes\", \"Code128\", \"Supported\"]\n",[49,1230,1232],{"class":51,"line":1231},69,[49,1233,1234],{"class":76},"                ],\n",[49,1236,1238],{"class":51,"line":1237},70,[49,1239,1240],{"class":76},"                \"columnWidths\": [35, 35, 30],\n",[49,1242,1244],{"class":51,"line":1243},71,[49,1245,1246],{"class":76},"                \"headerStyle\": {\"bold\": true, \"color\": \"white\", \"background\": \"#1A237E\"},\n",[49,1248,1250],{"class":51,"line":1249},72,[49,1251,1252],{"class":76},"                \"stripeColor\": \"#F5F5F5\"\n",[49,1254,1256],{"class":51,"line":1255},73,[49,1257,1258],{"class":76},"            }}\n",[49,1260,1262],{"class":51,"line":1261},74,[49,1263,293],{"class":76},[49,1265,1267],{"class":51,"line":1266},75,[49,1268,95],{"class":76},[49,1270,1272],{"class":51,"line":1271},76,[49,1273,1022],{"class":76},[49,1275,1277],{"class":51,"line":1276},77,[49,1278,293],{"class":76},[49,1280,1282],{"class":51,"line":1281},78,[49,1283,95],{"class":76},[49,1285,1287],{"class":51,"line":1286},79,[49,1288,1289],{"class":76},"            {\"span\": 6, \"qrcode\": {\"data\": \"https://gpdf.dev\", \"size\": \"25mm\"}},\n",[49,1291,1293],{"class":51,"line":1292},80,[49,1294,1295],{"class":76},"            {\"span\": 6, \"barcode\": {\"data\": \"GPDF-JSON-001\", \"format\": \"code128\"}}\n",[49,1297,1299],{"class":51,"line":1298},81,[49,1300,107],{"class":76},[49,1302,1304],{"class":51,"line":1303},82,[49,1305,113],{"class":76},[49,1307,1309,1311,1313],{"class":51,"line":1308},83,[49,1310,119],{"class":76},[49,1312,73],{"class":59},[49,1314,124],{"class":59},[49,1316,1318],{"class":51,"line":1317},84,[49,1319,131],{"emptyLinePlaceholder":130},[49,1321,1323,1325,1327,1329,1331,1333,1335,1337,1339,1341,1343],{"class":51,"line":1322},85,[49,1324,137],{"class":55},[49,1326,140],{"class":59},[49,1328,143],{"class":55},[49,1330,60],{"class":59},[49,1332,148],{"class":55},[49,1334,151],{"class":59},[49,1336,155],{"class":154},[49,1338,70],{"class":59},[49,1340,160],{"class":55},[49,1342,140],{"class":59},[49,1344,165],{"class":59},[39,1346,1349],{"className":1347,"code":1348,"language":236},[234],"┌─ A4 ──────────────────────────────────────────────┐\n│  gpdf JSON Schema              Document Header    │  ← header\n│  ──────────────────────────────────────────────── │\n│                                                   │\n│  JSON Schema Generation           ← 24pt bold     │\n│                                                   │\n│  This PDF was generated from a JSON schema.       │\n│                                                   │\n│  Features              Supported Elements         │\n│  • Declarative...      1. Text with styles        │\n│  • All element...      2. Tables with headers     │\n│  • Style options       3. Lists                   │\n│  • Header/footer       4. Lines and spacers       │\n│                        5. QR codes and barcodes    │\n│                        6. Images (base64)          │\n│                                                   │\n│  ┌──────────┬──────────────────┬──────────┐       │\n│  │ Feature  │ Format           │ Status   │       │\n│  ├──────────┼──────────────────┼──────────┤       │\n│  │ Text     │ JSON style obj   │Supported │       │\n│  │ Tables   │ header + rows    │Supported │       │\n│  │ ...      │ ...              │ ...      │       │\n│  └──────────┴──────────────────┴──────────┘       │\n│                                                   │\n│  ┌────┐        ║║│║║│║║║│║║│                      │\n│  │ QR │        GPDF-JSON-001                      │\n│  └────┘                                           │\n│                                                   │\n│  ──────────────────────────────────────────────── │\n│                    Page 1                         │  ← footer\n└───────────────────────────────────────────────────┘\n",[46,1350,1348],{"__ignoreMap":44},[10,1352,1354],{"id":1353},"element-types-in-json","Element Types in JSON",[660,1356,1358],{"id":1357},"column-shorthand","Column Shorthand",[15,1360,1361],{},"For single elements, use shorthand directly on the column:",[39,1363,1365],{"className":437,"code":1364,"language":439,"meta":44,"style":44},"{\"span\": 12, \"text\": \"Hello\", \"style\": {\"bold\": true}}\n{\"span\": 12, \"spacer\": \"10mm\"}\n{\"span\": 12, \"line\": {\"color\": \"#FF0000\"}}\n",[46,1366,1367,1424,1458],{"__ignoreMap":44},[49,1368,1369,1371,1373,1375,1377,1379,1382,1384,1386,1388,1390,1392,1394,1397,1399,1401,1403,1406,1408,1410,1412,1414,1417,1419,1421],{"class":51,"line":52},[49,1370,746],{"class":59},[49,1372,356],{"class":59},[49,1374,49],{"class":66},[49,1376,356],{"class":59},[49,1378,359],{"class":59},[49,1380,1381],{"class":780}," 12",[49,1383,140],{"class":59},[49,1385,385],{"class":59},[49,1387,236],{"class":66},[49,1389,356],{"class":59},[49,1391,359],{"class":59},[49,1393,385],{"class":59},[49,1395,1396],{"class":76},"Hello",[49,1398,356],{"class":59},[49,1400,140],{"class":59},[49,1402,385],{"class":59},[49,1404,1405],{"class":66},"style",[49,1407,356],{"class":59},[49,1409,359],{"class":59},[49,1411,758],{"class":59},[49,1413,356],{"class":59},[49,1415,1416],{"class":341},"bold",[49,1418,356],{"class":59},[49,1420,359],{"class":59},[49,1422,1423],{"class":59}," true}}\n",[49,1425,1426,1428,1430,1432,1434,1436,1438,1440,1442,1445,1447,1449,1451,1454,1456],{"class":51,"line":80},[49,1427,746],{"class":59},[49,1429,356],{"class":59},[49,1431,49],{"class":66},[49,1433,356],{"class":59},[49,1435,359],{"class":59},[49,1437,1381],{"class":780},[49,1439,140],{"class":59},[49,1441,385],{"class":59},[49,1443,1444],{"class":66},"spacer",[49,1446,356],{"class":59},[49,1448,359],{"class":59},[49,1450,385],{"class":59},[49,1452,1453],{"class":76},"10mm",[49,1455,356],{"class":59},[49,1457,207],{"class":59},[49,1459,1460,1462,1464,1466,1468,1470,1472,1474,1476,1478,1480,1482,1484,1486,1489,1491,1493,1495,1498,1500],{"class":51,"line":86},[49,1461,746],{"class":59},[49,1463,356],{"class":59},[49,1465,49],{"class":66},[49,1467,356],{"class":59},[49,1469,359],{"class":59},[49,1471,1381],{"class":780},[49,1473,140],{"class":59},[49,1475,385],{"class":59},[49,1477,51],{"class":66},[49,1479,356],{"class":59},[49,1481,359],{"class":59},[49,1483,758],{"class":59},[49,1485,356],{"class":59},[49,1487,1488],{"class":341},"color",[49,1490,356],{"class":59},[49,1492,359],{"class":59},[49,1494,385],{"class":59},[49,1496,1497],{"class":76},"#FF0000",[49,1499,356],{"class":59},[49,1501,1502],{"class":59},"}}\n",[660,1504,1506],{"id":1505},"elements-array","Elements Array",[15,1508,1509,1510,1513],{},"For multiple elements in one column, use the ",[46,1511,1512],{},"elements"," array:",[39,1515,1517],{"className":437,"code":1516,"language":439,"meta":44,"style":44},"{\"span\": 12, \"elements\": [\n    {\"type\": \"text\", \"content\": \"Title\", \"style\": {\"size\": 18, \"bold\": true}},\n    {\"type\": \"spacer\", \"height\": \"5mm\"},\n    {\"type\": \"text\", \"content\": \"Body text\"},\n    {\"type\": \"line\"},\n    {\"type\": \"pageNumber\", \"style\": {\"align\": \"center\"}}\n]}\n",[46,1518,1519,1545,1617,1655,1692,1712,1761],{"__ignoreMap":44},[49,1520,1521,1523,1525,1527,1529,1531,1533,1535,1537,1539,1541,1543],{"class":51,"line":52},[49,1522,746],{"class":59},[49,1524,356],{"class":59},[49,1526,49],{"class":66},[49,1528,356],{"class":59},[49,1530,359],{"class":59},[49,1532,1381],{"class":780},[49,1534,140],{"class":59},[49,1536,385],{"class":59},[49,1538,1512],{"class":66},[49,1540,356],{"class":59},[49,1542,359],{"class":59},[49,1544,770],{"class":59},[49,1546,1547,1549,1551,1554,1556,1558,1560,1562,1564,1566,1568,1571,1573,1575,1577,1579,1581,1583,1585,1587,1589,1591,1593,1595,1597,1599,1601,1604,1606,1608,1610,1612,1614],{"class":51,"line":80},[49,1548,775],{"class":59},[49,1550,356],{"class":59},[49,1552,1553],{"class":341},"type",[49,1555,356],{"class":59},[49,1557,359],{"class":59},[49,1559,385],{"class":59},[49,1561,236],{"class":76},[49,1563,356],{"class":59},[49,1565,140],{"class":59},[49,1567,385],{"class":59},[49,1569,1570],{"class":341},"content",[49,1572,356],{"class":59},[49,1574,359],{"class":59},[49,1576,385],{"class":59},[49,1578,353],{"class":76},[49,1580,356],{"class":59},[49,1582,140],{"class":59},[49,1584,385],{"class":59},[49,1586,1405],{"class":341},[49,1588,356],{"class":59},[49,1590,359],{"class":59},[49,1592,758],{"class":59},[49,1594,356],{"class":59},[49,1596,466],{"class":780},[49,1598,356],{"class":59},[49,1600,359],{"class":59},[49,1602,1603],{"class":780}," 18",[49,1605,140],{"class":59},[49,1607,385],{"class":59},[49,1609,1416],{"class":780},[49,1611,356],{"class":59},[49,1613,359],{"class":59},[49,1615,1616],{"class":59}," true}},\n",[49,1618,1619,1621,1623,1625,1627,1629,1631,1633,1635,1637,1639,1642,1644,1646,1648,1651,1653],{"class":51,"line":86},[49,1620,775],{"class":59},[49,1622,356],{"class":59},[49,1624,1553],{"class":341},[49,1626,356],{"class":59},[49,1628,359],{"class":59},[49,1630,385],{"class":59},[49,1632,1444],{"class":76},[49,1634,356],{"class":59},[49,1636,140],{"class":59},[49,1638,385],{"class":59},[49,1640,1641],{"class":341},"height",[49,1643,356],{"class":59},[49,1645,359],{"class":59},[49,1647,385],{"class":59},[49,1649,1650],{"class":76},"5mm",[49,1652,356],{"class":59},[49,1654,807],{"class":59},[49,1656,1657,1659,1661,1663,1665,1667,1669,1671,1673,1675,1677,1679,1681,1683,1685,1688,1690],{"class":51,"line":92},[49,1658,775],{"class":59},[49,1660,356],{"class":59},[49,1662,1553],{"class":341},[49,1664,356],{"class":59},[49,1666,359],{"class":59},[49,1668,385],{"class":59},[49,1670,236],{"class":76},[49,1672,356],{"class":59},[49,1674,140],{"class":59},[49,1676,385],{"class":59},[49,1678,1570],{"class":341},[49,1680,356],{"class":59},[49,1682,359],{"class":59},[49,1684,385],{"class":59},[49,1686,1687],{"class":76},"Body text",[49,1689,356],{"class":59},[49,1691,807],{"class":59},[49,1693,1694,1696,1698,1700,1702,1704,1706,1708,1710],{"class":51,"line":98},[49,1695,775],{"class":59},[49,1697,356],{"class":59},[49,1699,1553],{"class":341},[49,1701,356],{"class":59},[49,1703,359],{"class":59},[49,1705,385],{"class":59},[49,1707,51],{"class":76},[49,1709,356],{"class":59},[49,1711,807],{"class":59},[49,1713,1714,1716,1718,1720,1722,1724,1726,1729,1731,1733,1735,1737,1739,1741,1743,1745,1748,1750,1752,1754,1757,1759],{"class":51,"line":104},[49,1715,775],{"class":59},[49,1717,356],{"class":59},[49,1719,1553],{"class":341},[49,1721,356],{"class":59},[49,1723,359],{"class":59},[49,1725,385],{"class":59},[49,1727,1728],{"class":76},"pageNumber",[49,1730,356],{"class":59},[49,1732,140],{"class":59},[49,1734,385],{"class":59},[49,1736,1405],{"class":341},[49,1738,356],{"class":59},[49,1740,359],{"class":59},[49,1742,758],{"class":59},[49,1744,356],{"class":59},[49,1746,1747],{"class":780},"align",[49,1749,356],{"class":59},[49,1751,359],{"class":59},[49,1753,385],{"class":59},[49,1755,1756],{"class":76},"center",[49,1758,356],{"class":59},[49,1760,1502],{"class":59},[49,1762,1763],{"class":51,"line":110},[49,1764,1765],{"class":59},"]}\n",[660,1767,1769],{"id":1768},"style-object","Style Object",[39,1771,1773],{"className":437,"code":1772,"language":439,"meta":44,"style":44},"{\n    \"size\": 16,\n    \"bold\": true,\n    \"italic\": true,\n    \"color\": \"#1A237E\",\n    \"background\": \"#F5F5F5\",\n    \"align\": \"center\",\n    \"font\": \"NotoSansJP\"\n}\n",[46,1774,1775,1779,1794,1807,1820,1839,1859,1877,1895],{"__ignoreMap":44},[49,1776,1777],{"class":51,"line":52},[49,1778,77],{"class":59},[49,1780,1781,1783,1785,1787,1789,1792],{"class":51,"line":80},[49,1782,350],{"class":59},[49,1784,466],{"class":66},[49,1786,356],{"class":59},[49,1788,359],{"class":59},[49,1790,1791],{"class":780}," 16",[49,1793,370],{"class":59},[49,1795,1796,1798,1800,1802,1804],{"class":51,"line":86},[49,1797,350],{"class":59},[49,1799,1416],{"class":66},[49,1801,356],{"class":59},[49,1803,359],{"class":59},[49,1805,1806],{"class":59}," true,\n",[49,1808,1809,1811,1814,1816,1818],{"class":51,"line":92},[49,1810,350],{"class":59},[49,1812,1813],{"class":66},"italic",[49,1815,356],{"class":59},[49,1817,359],{"class":59},[49,1819,1806],{"class":59},[49,1821,1822,1824,1826,1828,1830,1832,1835,1837],{"class":51,"line":98},[49,1823,350],{"class":59},[49,1825,1488],{"class":66},[49,1827,356],{"class":59},[49,1829,359],{"class":59},[49,1831,385],{"class":59},[49,1833,1834],{"class":76},"#1A237E",[49,1836,356],{"class":59},[49,1838,370],{"class":59},[49,1840,1841,1843,1846,1848,1850,1852,1855,1857],{"class":51,"line":104},[49,1842,350],{"class":59},[49,1844,1845],{"class":66},"background",[49,1847,356],{"class":59},[49,1849,359],{"class":59},[49,1851,385],{"class":59},[49,1853,1854],{"class":76},"#F5F5F5",[49,1856,356],{"class":59},[49,1858,370],{"class":59},[49,1860,1861,1863,1865,1867,1869,1871,1873,1875],{"class":51,"line":110},[49,1862,350],{"class":59},[49,1864,1747],{"class":66},[49,1866,356],{"class":59},[49,1868,359],{"class":59},[49,1870,385],{"class":59},[49,1872,1756],{"class":76},[49,1874,356],{"class":59},[49,1876,370],{"class":59},[49,1878,1879,1881,1884,1886,1888,1890,1893],{"class":51,"line":116},[49,1880,350],{"class":59},[49,1882,1883],{"class":66},"font",[49,1885,356],{"class":59},[49,1887,359],{"class":59},[49,1889,385],{"class":59},[49,1891,1892],{"class":76},"NotoSansJP",[49,1894,498],{"class":59},[49,1896,1897],{"class":51,"line":127},[49,1898,207],{"class":59},[665,1900,1901,1913],{},[668,1902,1903],{},[671,1904,1905,1907,1910],{},[674,1906,676],{},[674,1908,1909],{},"Type",[674,1911,1912],{},"Description",[684,1914,1915,1927,1939,1950,1971,1982,2001],{},[671,1916,1917,1921,1924],{},[689,1918,1919],{},[46,1920,466],{},[689,1922,1923],{},"number",[689,1925,1926],{},"Font size in points",[671,1928,1929,1933,1936],{},[689,1930,1931],{},[46,1932,1416],{},[689,1934,1935],{},"boolean",[689,1937,1938],{},"Bold weight",[671,1940,1941,1945,1947],{},[689,1942,1943],{},[46,1944,1813],{},[689,1946,1935],{},[689,1948,1949],{},"Italic style",[671,1951,1952,1956,1958],{},[689,1953,1954],{},[46,1955,1488],{},[689,1957,335],{},[689,1959,1960,1961,698,1964,698,1967,1970],{},"Text color (",[46,1962,1963],{},"\"#RRGGBB\"",[46,1965,1966],{},"\"red\"",[46,1968,1969],{},"\"blue\"",", etc.)",[671,1972,1973,1977,1979],{},[689,1974,1975],{},[46,1976,1845],{},[689,1978,335],{},[689,1980,1981],{},"Background color",[671,1983,1984,1988,1990],{},[689,1985,1986],{},[46,1987,1747],{},[689,1989,335],{},[689,1991,1992,698,1995,698,1998],{},[46,1993,1994],{},"\"left\"",[46,1996,1997],{},"\"center\"",[46,1999,2000],{},"\"right\"",[671,2002,2003,2007,2009],{},[689,2004,2005],{},[46,2006,1883],{},[689,2008,335],{},[689,2010,2011],{},"Font family name",[660,2013,2015],{"id":2014},"table-object","Table Object",[39,2017,2019],{"className":437,"code":2018,"language":439,"meta":44,"style":44},"{\n    \"header\": [\"Col A\", \"Col B\", \"Col C\"],\n    \"rows\": [\n        [\"A1\", \"B1\", \"C1\"],\n        [\"A2\", \"B2\", \"C2\"]\n    ],\n    \"columnWidths\": [40, 30, 30],\n    \"headerStyle\": {\"bold\": true, \"color\": \"white\", \"background\": \"#1A237E\"},\n    \"stripeColor\": \"#F5F5F5\"\n}\n",[46,2020,2021,2025,2065,2078,2110,2142,2146,2173,2230,2247],{"__ignoreMap":44},[49,2022,2023],{"class":51,"line":52},[49,2024,77],{"class":59},[49,2026,2027,2029,2031,2033,2035,2037,2039,2042,2044,2046,2048,2051,2053,2055,2057,2060,2062],{"class":51,"line":80},[49,2028,350],{"class":59},[49,2030,605],{"class":66},[49,2032,356],{"class":59},[49,2034,359],{"class":59},[49,2036,612],{"class":59},[49,2038,356],{"class":59},[49,2040,2041],{"class":76},"Col A",[49,2043,356],{"class":59},[49,2045,140],{"class":59},[49,2047,385],{"class":59},[49,2049,2050],{"class":76},"Col B",[49,2052,356],{"class":59},[49,2054,140],{"class":59},[49,2056,385],{"class":59},[49,2058,2059],{"class":76},"Col C",[49,2061,356],{"class":59},[49,2063,2064],{"class":59},"],\n",[49,2066,2067,2069,2072,2074,2076],{"class":51,"line":86},[49,2068,350],{"class":59},[49,2070,2071],{"class":66},"rows",[49,2073,356],{"class":59},[49,2075,359],{"class":59},[49,2077,770],{"class":59},[49,2079,2080,2083,2085,2088,2090,2092,2094,2097,2099,2101,2103,2106,2108],{"class":51,"line":92},[49,2081,2082],{"class":59},"        [",[49,2084,356],{"class":59},[49,2086,2087],{"class":76},"A1",[49,2089,356],{"class":59},[49,2091,140],{"class":59},[49,2093,385],{"class":59},[49,2095,2096],{"class":76},"B1",[49,2098,356],{"class":59},[49,2100,140],{"class":59},[49,2102,385],{"class":59},[49,2104,2105],{"class":76},"C1",[49,2107,356],{"class":59},[49,2109,2064],{"class":59},[49,2111,2112,2114,2116,2119,2121,2123,2125,2128,2130,2132,2134,2137,2139],{"class":51,"line":98},[49,2113,2082],{"class":59},[49,2115,356],{"class":59},[49,2117,2118],{"class":76},"A2",[49,2120,356],{"class":59},[49,2122,140],{"class":59},[49,2124,385],{"class":59},[49,2126,2127],{"class":76},"B2",[49,2129,356],{"class":59},[49,2131,140],{"class":59},[49,2133,385],{"class":59},[49,2135,2136],{"class":76},"C2",[49,2138,356],{"class":59},[49,2140,2141],{"class":59},"]\n",[49,2143,2144],{"class":51,"line":104},[49,2145,920],{"class":59},[49,2147,2148,2150,2153,2155,2157,2159,2162,2164,2167,2169,2171],{"class":51,"line":110},[49,2149,350],{"class":59},[49,2151,2152],{"class":66},"columnWidths",[49,2154,356],{"class":59},[49,2156,359],{"class":59},[49,2158,612],{"class":59},[49,2160,2161],{"class":780},"40",[49,2163,140],{"class":59},[49,2165,2166],{"class":780}," 30",[49,2168,140],{"class":59},[49,2170,2166],{"class":780},[49,2172,2064],{"class":59},[49,2174,2175,2177,2180,2182,2184,2186,2188,2190,2192,2194,2197,2199,2201,2203,2205,2207,2210,2212,2214,2216,2218,2220,2222,2224,2226,2228],{"class":51,"line":116},[49,2176,350],{"class":59},[49,2178,2179],{"class":66},"headerStyle",[49,2181,356],{"class":59},[49,2183,359],{"class":59},[49,2185,758],{"class":59},[49,2187,356],{"class":59},[49,2189,1416],{"class":341},[49,2191,356],{"class":59},[49,2193,359],{"class":59},[49,2195,2196],{"class":59}," true,",[49,2198,385],{"class":59},[49,2200,1488],{"class":341},[49,2202,356],{"class":59},[49,2204,359],{"class":59},[49,2206,385],{"class":59},[49,2208,2209],{"class":76},"white",[49,2211,356],{"class":59},[49,2213,140],{"class":59},[49,2215,385],{"class":59},[49,2217,1845],{"class":341},[49,2219,356],{"class":59},[49,2221,359],{"class":59},[49,2223,385],{"class":59},[49,2225,1834],{"class":76},[49,2227,356],{"class":59},[49,2229,807],{"class":59},[49,2231,2232,2234,2237,2239,2241,2243,2245],{"class":51,"line":127},[49,2233,350],{"class":59},[49,2235,2236],{"class":66},"stripeColor",[49,2238,356],{"class":59},[49,2240,359],{"class":59},[49,2242,385],{"class":59},[49,2244,1854],{"class":76},[49,2246,498],{"class":59},[49,2248,2249],{"class":51,"line":134},[49,2250,207],{"class":59},[660,2252,2254],{"id":2253},"list-object","List Object",[39,2256,2258],{"className":437,"code":2257,"language":439,"meta":44,"style":44},"{\"type\": \"list\", \"list\": {\"items\": [\"Item 1\", \"Item 2\", \"Item 3\"]}}\n{\"type\": \"list\", \"list\": {\"type\": \"ordered\", \"items\": [\"First\", \"Second\", \"Third\"]}}\n",[46,2259,2260,2329],{"__ignoreMap":44},[49,2261,2262,2264,2266,2268,2270,2272,2274,2277,2279,2281,2283,2285,2287,2289,2291,2293,2296,2298,2300,2302,2304,2307,2309,2311,2313,2316,2318,2320,2322,2325,2327],{"class":51,"line":52},[49,2263,746],{"class":59},[49,2265,356],{"class":59},[49,2267,1553],{"class":66},[49,2269,356],{"class":59},[49,2271,359],{"class":59},[49,2273,385],{"class":59},[49,2275,2276],{"class":76},"list",[49,2278,356],{"class":59},[49,2280,140],{"class":59},[49,2282,385],{"class":59},[49,2284,2276],{"class":66},[49,2286,356],{"class":59},[49,2288,359],{"class":59},[49,2290,758],{"class":59},[49,2292,356],{"class":59},[49,2294,2295],{"class":341},"items",[49,2297,356],{"class":59},[49,2299,359],{"class":59},[49,2301,612],{"class":59},[49,2303,356],{"class":59},[49,2305,2306],{"class":76},"Item 1",[49,2308,356],{"class":59},[49,2310,140],{"class":59},[49,2312,385],{"class":59},[49,2314,2315],{"class":76},"Item 2",[49,2317,356],{"class":59},[49,2319,140],{"class":59},[49,2321,385],{"class":59},[49,2323,2324],{"class":76},"Item 3",[49,2326,356],{"class":59},[49,2328,845],{"class":59},[49,2330,2331,2333,2335,2337,2339,2341,2343,2345,2347,2349,2351,2353,2355,2357,2359,2361,2363,2365,2367,2369,2372,2374,2376,2378,2380,2382,2384,2386,2388,2391,2393,2395,2397,2400,2402,2404,2406,2409,2411],{"class":51,"line":80},[49,2332,746],{"class":59},[49,2334,356],{"class":59},[49,2336,1553],{"class":66},[49,2338,356],{"class":59},[49,2340,359],{"class":59},[49,2342,385],{"class":59},[49,2344,2276],{"class":76},[49,2346,356],{"class":59},[49,2348,140],{"class":59},[49,2350,385],{"class":59},[49,2352,2276],{"class":66},[49,2354,356],{"class":59},[49,2356,359],{"class":59},[49,2358,758],{"class":59},[49,2360,356],{"class":59},[49,2362,1553],{"class":341},[49,2364,356],{"class":59},[49,2366,359],{"class":59},[49,2368,385],{"class":59},[49,2370,2371],{"class":76},"ordered",[49,2373,356],{"class":59},[49,2375,140],{"class":59},[49,2377,385],{"class":59},[49,2379,2295],{"class":341},[49,2381,356],{"class":59},[49,2383,359],{"class":59},[49,2385,612],{"class":59},[49,2387,356],{"class":59},[49,2389,2390],{"class":76},"First",[49,2392,356],{"class":59},[49,2394,140],{"class":59},[49,2396,385],{"class":59},[49,2398,2399],{"class":76},"Second",[49,2401,356],{"class":59},[49,2403,140],{"class":59},[49,2405,385],{"class":59},[49,2407,2408],{"class":76},"Third",[49,2410,356],{"class":59},[49,2412,845],{"class":59},[660,2414,2416],{"id":2415},"qr-code-object","QR Code Object",[39,2418,2420],{"className":437,"code":2419,"language":439,"meta":44,"style":44},"{\"span\": 6, \"qrcode\": {\"data\": \"https://gpdf.dev\", \"size\": \"25mm\"}}\n",[46,2421,2422],{"__ignoreMap":44},[49,2423,2424,2426,2428,2430,2432,2434,2436,2438,2440,2443,2445,2447,2449,2451,2453,2455,2457,2459,2462,2464,2466,2468,2470,2472,2474,2476,2479,2481],{"class":51,"line":52},[49,2425,746],{"class":59},[49,2427,356],{"class":59},[49,2429,49],{"class":66},[49,2431,356],{"class":59},[49,2433,359],{"class":59},[49,2435,787],{"class":780},[49,2437,140],{"class":59},[49,2439,385],{"class":59},[49,2441,2442],{"class":66},"qrcode",[49,2444,356],{"class":59},[49,2446,359],{"class":59},[49,2448,758],{"class":59},[49,2450,356],{"class":59},[49,2452,213],{"class":341},[49,2454,356],{"class":59},[49,2456,359],{"class":59},[49,2458,385],{"class":59},[49,2460,2461],{"class":76},"https://gpdf.dev",[49,2463,356],{"class":59},[49,2465,140],{"class":59},[49,2467,385],{"class":59},[49,2469,466],{"class":341},[49,2471,356],{"class":59},[49,2473,359],{"class":59},[49,2475,385],{"class":59},[49,2477,2478],{"class":76},"25mm",[49,2480,356],{"class":59},[49,2482,1502],{"class":59},[660,2484,2486],{"id":2485},"barcode-object","Barcode Object",[39,2488,2490],{"className":437,"code":2489,"language":439,"meta":44,"style":44},"{\"span\": 6, \"barcode\": {\"data\": \"INV-001\", \"format\": \"code128\"}}\n",[46,2491,2492],{"__ignoreMap":44},[49,2493,2494,2496,2498,2500,2502,2504,2506,2508,2510,2513,2515,2517,2519,2521,2523,2525,2527,2529,2532,2534,2536,2538,2541,2543,2545,2547,2550,2552],{"class":51,"line":52},[49,2495,746],{"class":59},[49,2497,356],{"class":59},[49,2499,49],{"class":66},[49,2501,356],{"class":59},[49,2503,359],{"class":59},[49,2505,787],{"class":780},[49,2507,140],{"class":59},[49,2509,385],{"class":59},[49,2511,2512],{"class":66},"barcode",[49,2514,356],{"class":59},[49,2516,359],{"class":59},[49,2518,758],{"class":59},[49,2520,356],{"class":59},[49,2522,213],{"class":341},[49,2524,356],{"class":59},[49,2526,359],{"class":59},[49,2528,385],{"class":59},[49,2530,2531],{"class":76},"INV-001",[49,2533,356],{"class":59},[49,2535,140],{"class":59},[49,2537,385],{"class":59},[49,2539,2540],{"class":341},"format",[49,2542,356],{"class":59},[49,2544,359],{"class":59},[49,2546,385],{"class":59},[49,2548,2549],{"class":76},"code128",[49,2551,356],{"class":59},[49,2553,1502],{"class":59},[660,2555,2557],{"id":2556},"absolute-positioning","Absolute Positioning",[15,2559,2560],{},"Place elements at exact XY coordinates, outside the normal grid flow:",[39,2562,2564],{"className":437,"code":2563,"language":439,"meta":44,"style":44},"{\n    \"absolute\": [\n        {\n            \"x\": \"120mm\",\n            \"y\": \"20mm\",\n            \"elements\": [\n                {\"type\": \"text\", \"content\": \"CONFIDENTIAL\", \"style\": {\"size\": 20, \"bold\": true, \"color\": \"red\"}}\n            ]\n        },\n        {\n            \"x\": \"10mm\",\n            \"y\": \"250mm\",\n            \"width\": \"25mm\",\n            \"height\": \"25mm\",\n            \"elements\": [\n                {\"type\": \"qrcode\", \"qrcode\": {\"data\": \"https://gpdf.dev\", \"size\": \"20mm\"}}\n            ]\n        },\n        {\n            \"x\": \"0mm\",\n            \"y\": \"0mm\",\n            \"origin\": \"page\",\n            \"elements\": [\n                {\"type\": \"text\", \"content\": \"Page origin\"}\n            ]\n        }\n    ]\n}\n",[46,2565,2566,2570,2583,2588,2609,2628,2640,2729,2734,2739,2743,2761,2780,2799,2817,2829,2891,2895,2899,2903,2922,2940,2959,2971,3008,3012,3017,3021],{"__ignoreMap":44},[49,2567,2568],{"class":51,"line":52},[49,2569,77],{"class":59},[49,2571,2572,2574,2577,2579,2581],{"class":51,"line":80},[49,2573,350],{"class":59},[49,2575,2576],{"class":66},"absolute",[49,2578,356],{"class":59},[49,2580,359],{"class":59},[49,2582,770],{"class":59},[49,2584,2585],{"class":51,"line":86},[49,2586,2587],{"class":59},"        {\n",[49,2589,2590,2593,2596,2598,2600,2602,2605,2607],{"class":51,"line":92},[49,2591,2592],{"class":59},"            \"",[49,2594,2595],{"class":341},"x",[49,2597,356],{"class":59},[49,2599,359],{"class":59},[49,2601,385],{"class":59},[49,2603,2604],{"class":76},"120mm",[49,2606,356],{"class":59},[49,2608,370],{"class":59},[49,2610,2611,2613,2616,2618,2620,2622,2624,2626],{"class":51,"line":98},[49,2612,2592],{"class":59},[49,2614,2615],{"class":341},"y",[49,2617,356],{"class":59},[49,2619,359],{"class":59},[49,2621,385],{"class":59},[49,2623,495],{"class":76},[49,2625,356],{"class":59},[49,2627,370],{"class":59},[49,2629,2630,2632,2634,2636,2638],{"class":51,"line":104},[49,2631,2592],{"class":59},[49,2633,1512],{"class":341},[49,2635,356],{"class":59},[49,2637,359],{"class":59},[49,2639,770],{"class":59},[49,2641,2642,2645,2647,2649,2651,2653,2655,2657,2659,2661,2663,2665,2667,2669,2671,2674,2676,2678,2680,2682,2684,2686,2688,2690,2693,2695,2697,2700,2702,2704,2706,2708,2710,2712,2714,2716,2718,2720,2722,2725,2727],{"class":51,"line":110},[49,2643,2644],{"class":59},"                {",[49,2646,356],{"class":59},[49,2648,1553],{"class":780},[49,2650,356],{"class":59},[49,2652,359],{"class":59},[49,2654,385],{"class":59},[49,2656,236],{"class":76},[49,2658,356],{"class":59},[49,2660,140],{"class":59},[49,2662,385],{"class":59},[49,2664,1570],{"class":780},[49,2666,356],{"class":59},[49,2668,359],{"class":59},[49,2670,385],{"class":59},[49,2672,2673],{"class":76},"CONFIDENTIAL",[49,2675,356],{"class":59},[49,2677,140],{"class":59},[49,2679,385],{"class":59},[49,2681,1405],{"class":780},[49,2683,356],{"class":59},[49,2685,359],{"class":59},[49,2687,758],{"class":59},[49,2689,356],{"class":59},[49,2691,466],{"class":2692},"swJcz",[49,2694,356],{"class":59},[49,2696,359],{"class":59},[49,2698,2699],{"class":780}," 20",[49,2701,140],{"class":59},[49,2703,385],{"class":59},[49,2705,1416],{"class":2692},[49,2707,356],{"class":59},[49,2709,359],{"class":59},[49,2711,2196],{"class":59},[49,2713,385],{"class":59},[49,2715,1488],{"class":2692},[49,2717,356],{"class":59},[49,2719,359],{"class":59},[49,2721,385],{"class":59},[49,2723,2724],{"class":76},"red",[49,2726,356],{"class":59},[49,2728,1502],{"class":59},[49,2730,2731],{"class":51,"line":116},[49,2732,2733],{"class":59},"            ]\n",[49,2735,2736],{"class":51,"line":127},[49,2737,2738],{"class":59},"        },\n",[49,2740,2741],{"class":51,"line":134},[49,2742,2587],{"class":59},[49,2744,2745,2747,2749,2751,2753,2755,2757,2759],{"class":51,"line":168},[49,2746,2592],{"class":59},[49,2748,2595],{"class":341},[49,2750,356],{"class":59},[49,2752,359],{"class":59},[49,2754,385],{"class":59},[49,2756,1453],{"class":76},[49,2758,356],{"class":59},[49,2760,370],{"class":59},[49,2762,2763,2765,2767,2769,2771,2773,2776,2778],{"class":51,"line":186},[49,2764,2592],{"class":59},[49,2766,2615],{"class":341},[49,2768,356],{"class":59},[49,2770,359],{"class":59},[49,2772,385],{"class":59},[49,2774,2775],{"class":76},"250mm",[49,2777,356],{"class":59},[49,2779,370],{"class":59},[49,2781,2782,2784,2787,2789,2791,2793,2795,2797],{"class":51,"line":204},[49,2783,2592],{"class":59},[49,2785,2786],{"class":341},"width",[49,2788,356],{"class":59},[49,2790,359],{"class":59},[49,2792,385],{"class":59},[49,2794,2478],{"class":76},[49,2796,356],{"class":59},[49,2798,370],{"class":59},[49,2800,2801,2803,2805,2807,2809,2811,2813,2815],{"class":51,"line":210},[49,2802,2592],{"class":59},[49,2804,1641],{"class":341},[49,2806,356],{"class":59},[49,2808,359],{"class":59},[49,2810,385],{"class":59},[49,2812,2478],{"class":76},[49,2814,356],{"class":59},[49,2816,370],{"class":59},[49,2818,2819,2821,2823,2825,2827],{"class":51,"line":347},[49,2820,2592],{"class":59},[49,2822,1512],{"class":341},[49,2824,356],{"class":59},[49,2826,359],{"class":59},[49,2828,770],{"class":59},[49,2830,2831,2833,2835,2837,2839,2841,2843,2845,2847,2849,2851,2853,2855,2857,2859,2861,2863,2865,2867,2869,2871,2873,2875,2877,2879,2881,2883,2885,2887,2889],{"class":51,"line":373},[49,2832,2644],{"class":59},[49,2834,356],{"class":59},[49,2836,1553],{"class":780},[49,2838,356],{"class":59},[49,2840,359],{"class":59},[49,2842,385],{"class":59},[49,2844,2442],{"class":76},[49,2846,356],{"class":59},[49,2848,140],{"class":59},[49,2850,385],{"class":59},[49,2852,2442],{"class":780},[49,2854,356],{"class":59},[49,2856,359],{"class":59},[49,2858,758],{"class":59},[49,2860,356],{"class":59},[49,2862,213],{"class":2692},[49,2864,356],{"class":59},[49,2866,359],{"class":59},[49,2868,385],{"class":59},[49,2870,2461],{"class":76},[49,2872,356],{"class":59},[49,2874,140],{"class":59},[49,2876,385],{"class":59},[49,2878,466],{"class":2692},[49,2880,356],{"class":59},[49,2882,359],{"class":59},[49,2884,385],{"class":59},[49,2886,495],{"class":76},[49,2888,356],{"class":59},[49,2890,1502],{"class":59},[49,2892,2893],{"class":51,"line":395},[49,2894,2733],{"class":59},[49,2896,2897],{"class":51,"line":400},[49,2898,2738],{"class":59},[49,2900,2901],{"class":51,"line":405},[49,2902,2587],{"class":59},[49,2904,2905,2907,2909,2911,2913,2915,2918,2920],{"class":51,"line":956},[49,2906,2592],{"class":59},[49,2908,2595],{"class":341},[49,2910,356],{"class":59},[49,2912,359],{"class":59},[49,2914,385],{"class":59},[49,2916,2917],{"class":76},"0mm",[49,2919,356],{"class":59},[49,2921,370],{"class":59},[49,2923,2924,2926,2928,2930,2932,2934,2936,2938],{"class":51,"line":961},[49,2925,2592],{"class":59},[49,2927,2615],{"class":341},[49,2929,356],{"class":59},[49,2931,359],{"class":59},[49,2933,385],{"class":59},[49,2935,2917],{"class":76},[49,2937,356],{"class":59},[49,2939,370],{"class":59},[49,2941,2942,2944,2947,2949,2951,2953,2955,2957],{"class":51,"line":966},[49,2943,2592],{"class":59},[49,2945,2946],{"class":341},"origin",[49,2948,356],{"class":59},[49,2950,359],{"class":59},[49,2952,385],{"class":59},[49,2954,452],{"class":76},[49,2956,356],{"class":59},[49,2958,370],{"class":59},[49,2960,2961,2963,2965,2967,2969],{"class":51,"line":971},[49,2962,2592],{"class":59},[49,2964,1512],{"class":341},[49,2966,356],{"class":59},[49,2968,359],{"class":59},[49,2970,770],{"class":59},[49,2972,2973,2975,2977,2979,2981,2983,2985,2987,2989,2991,2993,2995,2997,2999,3001,3004,3006],{"class":51,"line":977},[49,2974,2644],{"class":59},[49,2976,356],{"class":59},[49,2978,1553],{"class":780},[49,2980,356],{"class":59},[49,2982,359],{"class":59},[49,2984,385],{"class":59},[49,2986,236],{"class":76},[49,2988,356],{"class":59},[49,2990,140],{"class":59},[49,2992,385],{"class":59},[49,2994,1570],{"class":780},[49,2996,356],{"class":59},[49,2998,359],{"class":59},[49,3000,385],{"class":59},[49,3002,3003],{"class":76},"Page origin",[49,3005,356],{"class":59},[49,3007,207],{"class":59},[49,3009,3010],{"class":51,"line":982},[49,3011,2733],{"class":59},[49,3013,3014],{"class":51,"line":987},[49,3015,3016],{"class":59},"        }\n",[49,3018,3019],{"class":51,"line":993},[49,3020,113],{"class":59},[49,3022,3023],{"class":51,"line":998},[49,3024,207],{"class":59},[15,3026,3027,3028,3030],{},"The ",[46,3029,2576],{}," array can appear at the top level (applies to all pages) or inside individual page definitions.",[665,3032,3033,3046],{},[668,3034,3035],{},[671,3036,3037,3039,3041,3044],{},[674,3038,676],{},[674,3040,1909],{},[674,3042,3043],{},"Required",[674,3045,1912],{},[684,3047,3048,3062,3075,3089,3102,3121],{},[671,3049,3050,3054,3056,3059],{},[689,3051,3052],{},[46,3053,2595],{},[689,3055,335],{},[689,3057,3058],{},"Yes",[689,3060,3061],{},"X coordinate (dimension string)",[671,3063,3064,3068,3070,3072],{},[689,3065,3066],{},[46,3067,2615],{},[689,3069,335],{},[689,3071,3058],{},[689,3073,3074],{},"Y coordinate (dimension string)",[671,3076,3077,3081,3083,3086],{},[689,3078,3079],{},[46,3080,2786],{},[689,3082,335],{},[689,3084,3085],{},"No",[689,3087,3088],{},"Explicit width (default: remaining space)",[671,3090,3091,3095,3097,3099],{},[689,3092,3093],{},[46,3094,1641],{},[689,3096,335],{},[689,3098,3085],{},[689,3100,3101],{},"Explicit height (default: remaining space)",[671,3103,3104,3108,3110,3112],{},[689,3105,3106],{},[46,3107,2946],{},[689,3109,335],{},[689,3111,3085],{},[689,3113,3114,3117,3118],{},[46,3115,3116],{},"\"content\""," (default) or ",[46,3119,3120],{},"\"page\"",[671,3122,3123,3127,3130,3132],{},[689,3124,3125],{},[46,3126,1512],{},[689,3128,3129],{},"array",[689,3131,3058],{},[689,3133,3134],{},"Array of element objects",[660,3136,3138],{"id":3137},"dimension-strings","Dimension Strings",[665,3140,3141,3151],{},[668,3142,3143],{},[671,3144,3145,3148],{},[674,3146,3147],{},"Format",[674,3149,3150],{},"Example",[684,3152,3153,3162,3172,3182],{},[671,3154,3155,3158],{},[689,3156,3157],{},"Millimeters",[689,3159,3160],{},[46,3161,723],{},[671,3163,3164,3167],{},[689,3165,3166],{},"Points",[689,3168,3169],{},[46,3170,3171],{},"\"12pt\"",[671,3173,3174,3177],{},[689,3175,3176],{},"Centimeters",[689,3178,3179],{},[46,3180,3181],{},"\"2.5cm\"",[671,3183,3184,3187],{},[689,3185,3186],{},"Inches",[689,3188,3189],{},[46,3190,726],{},[10,3192,3194],{"id":3193},"named-colors","Named Colors",[15,3196,3197,3198,698,3200,698,3203,698,3205,698,3208,698,3211,698,3214,698,3217,698,3220,151],{},"JSON schemas support named colors: ",[46,3199,1966],{},[46,3201,3202],{},"\"green\"",[46,3204,1969],{},[46,3206,3207],{},"\"yellow\"",[46,3209,3210],{},"\"cyan\"",[46,3212,3213],{},"\"magenta\"",[46,3215,3216],{},"\"black\"",[46,3218,3219],{},"\"white\"",[46,3221,3222],{},"\"gray\"",[15,3224,3225,3226,698,3229,151],{},"Or use hex format: ",[46,3227,3228],{},"\"#FF6B6B\"",[46,3230,3231],{},"\"#1A237E\"",[10,3233,3235],{"id":3234},"combining-with-go-options","Combining with Go Options",[15,3237,3238],{},"Override or extend JSON schemas with Go options:",[39,3240,3242],{"className":41,"code":3241,"language":43,"meta":44,"style":44},"fontData, _ := os.ReadFile(\"fonts/NotoSansJP-Regular.ttf\")\n\ndoc, err := template.FromJSON(schema, data,\n    template.WithFont(\"NotoSansJP\", fontData),\n    template.WithDefaultFont(\"NotoSansJP\", 12),\n)\n",[46,3243,3244,3275,3279,3305,3331,3354],{"__ignoreMap":44},[49,3245,3246,3249,3251,3254,3256,3259,3261,3264,3266,3268,3271,3273],{"class":51,"line":52},[49,3247,3248],{"class":55},"fontData",[49,3250,140],{"class":59},[49,3252,3253],{"class":55}," _ ",[49,3255,60],{"class":59},[49,3257,3258],{"class":55}," os",[49,3260,151],{"class":59},[49,3262,3263],{"class":154},"ReadFile",[49,3265,70],{"class":59},[49,3267,356],{"class":59},[49,3269,3270],{"class":76},"fonts/NotoSansJP-Regular.ttf",[49,3272,356],{"class":59},[49,3274,124],{"class":59},[49,3276,3277],{"class":51,"line":80},[49,3278,131],{"emptyLinePlaceholder":130},[49,3280,3281,3283,3285,3287,3289,3291,3293,3295,3297,3299,3301,3303],{"class":51,"line":86},[49,3282,137],{"class":55},[49,3284,140],{"class":59},[49,3286,143],{"class":55},[49,3288,60],{"class":59},[49,3290,148],{"class":55},[49,3292,151],{"class":59},[49,3294,155],{"class":154},[49,3296,70],{"class":59},[49,3298,160],{"class":55},[49,3300,140],{"class":59},[49,3302,428],{"class":55},[49,3304,370],{"class":59},[49,3306,3307,3310,3312,3315,3317,3319,3321,3323,3325,3328],{"class":51,"line":92},[49,3308,3309],{"class":55},"    template",[49,3311,151],{"class":59},[49,3313,3314],{"class":154},"WithFont",[49,3316,70],{"class":59},[49,3318,356],{"class":59},[49,3320,1892],{"class":76},[49,3322,356],{"class":59},[49,3324,140],{"class":59},[49,3326,3327],{"class":55}," fontData",[49,3329,3330],{"class":59},"),\n",[49,3332,3333,3335,3337,3340,3342,3344,3346,3348,3350,3352],{"class":51,"line":98},[49,3334,3309],{"class":55},[49,3336,151],{"class":59},[49,3338,3339],{"class":154},"WithDefaultFont",[49,3341,70],{"class":59},[49,3343,356],{"class":59},[49,3345,1892],{"class":76},[49,3347,356],{"class":59},[49,3349,140],{"class":59},[49,3351,1381],{"class":780},[49,3353,3330],{"class":59},[49,3355,3356],{"class":51,"line":104},[49,3357,124],{"class":59},[1405,3359,3360],{},"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 .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 .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}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 .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}",{"title":44,"searchDepth":80,"depth":80,"links":3362},[3363,3364,3365,3366,3370,3371,3382,3383],{"id":12,"depth":80,"text":13},{"id":36,"depth":80,"text":37},{"id":241,"depth":80,"text":242},{"id":433,"depth":80,"text":434,"children":3367},[3368,3369],{"id":662,"depth":86,"text":663},{"id":735,"depth":86,"text":736},{"id":848,"depth":80,"text":849},{"id":1353,"depth":80,"text":1354,"children":3372},[3373,3374,3375,3376,3377,3378,3379,3380,3381],{"id":1357,"depth":86,"text":1358},{"id":1505,"depth":86,"text":1506},{"id":1768,"depth":86,"text":1769},{"id":2014,"depth":86,"text":2015},{"id":2253,"depth":86,"text":2254},{"id":2415,"depth":86,"text":2416},{"id":2485,"depth":86,"text":2486},{"id":2556,"depth":86,"text":2557},{"id":3137,"depth":86,"text":3138},{"id":3193,"depth":80,"text":3194},{"id":3234,"depth":80,"text":3235},"Define PDF documents declaratively with JSON","md",{},"/docs/api-reference/json-schema",{"title":5,"description":3384},"docs/3.api-reference/5.json-schema","IiFok5-cnwC2IdYM9tMHYhT9o8lrfBXl-HVp1VRUEAQ",1776526793640]