[{"data":1,"prerenderedAt":1012},["ShallowReactive",2],{"docs-en-templates/estimate":3},{"id":4,"title":5,"body":6,"description":1005,"extension":1006,"meta":1007,"navigation":57,"path":1008,"seo":1009,"stem":1010,"__hash__":1011},"docs/docs/4.templates/3.estimate.md","Letter",{"type":7,"value":8,"toc":995},"minimark",[9,14,18,22,593,601,605,609,759,762,804,808,811,947,951,991],[10,11,13],"h2",{"id":12},"overview","Overview",[15,16,17],"p",{},"The Letter component generates a formal business letter PDF with sender/recipient headers, date, subject, body paragraphs, and signature block.",[10,19,21],{"id":20},"usage","Usage",[23,24,29],"pre",{"className":25,"code":26,"language":27,"meta":28,"style":28},"language-go shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import \"github.com/gpdf-dev/gpdf/template\"\n\ndoc := template.Letter(template.LetterData{\n    From: template.LetterParty{\n        Name: \"ACME Corporation\",\n        Address: []string{\n            \"123 Business Street\",\n            \"Suite 100\",\n            \"San Francisco, CA 94105\",\n            \"contact@acme.com\",\n        },\n    },\n    To: template.LetterParty{\n        Name: \"Mr. John Smith\",\n        Address: []string{\n            \"Tech Solutions Inc.\",\n            \"456 Client Avenue\",\n            \"New York, NY 10001\",\n        },\n    },\n    Date:     \"March 1, 2026\",\n    Subject:  \"Partnership Proposal\",\n    Greeting: \"Dear Mr. Smith,\",\n    Body: []string{\n        \"I am writing to express our interest in establishing a strategic partnership \" +\n            \"between ACME Corporation and Tech Solutions Inc. Over the past year, we have \" +\n            \"observed the remarkable growth of your organization and believe that a collaboration \" +\n            \"would be mutually beneficial.\",\n        \"Our proposal includes joint development of cloud-based solutions targeting \" +\n            \"the enterprise market. ACME Corporation brings extensive experience in PDF \" +\n            \"generation and document processing, while Tech Solutions Inc. has demonstrated \" +\n            \"excellence in frontend technologies and user experience design.\",\n        \"We would like to schedule a meeting at your earliest convenience to discuss \" +\n            \"the details of this proposal. Please feel free to contact me directly at \" +\n            \"ceo@acme.com or call our office at (415) 555-0100.\",\n    },\n    Closing:     \"Sincerely,\",\n    Signature:   \"Jane Doe\",\n    SignerTitle: \"Chief Executive Officer\",\n})\n\ndata, err := doc.Generate()\n","go","",[30,31,32,52,59,92,110,130,147,160,172,184,196,202,208,224,240,253,265,277,289,294,299,317,335,352,366,380,392,404,416,428,440,452,464,476,488,500,505,522,540,557,563,568],"code",{"__ignoreMap":28},[33,34,37,41,45,49],"span",{"class":35,"line":36},"line",1,[33,38,40],{"class":39},"s7zQu","import",[33,42,44],{"class":43},"sMK4o"," \"",[33,46,48],{"class":47},"sBMFI","github.com/gpdf-dev/gpdf/template",[33,50,51],{"class":43},"\"\n",[33,53,55],{"class":35,"line":54},2,[33,56,58],{"emptyLinePlaceholder":57},true,"\n",[33,60,62,66,69,72,75,78,81,84,86,89],{"class":35,"line":61},3,[33,63,65],{"class":64},"sTEyZ","doc ",[33,67,68],{"class":43},":=",[33,70,71],{"class":64}," template",[33,73,74],{"class":43},".",[33,76,5],{"class":77},"s2Zo4",[33,79,80],{"class":43},"(",[33,82,83],{"class":47},"template",[33,85,74],{"class":43},[33,87,88],{"class":47},"LetterData",[33,90,91],{"class":43},"{\n",[33,93,95,98,101,103,105,108],{"class":35,"line":94},4,[33,96,97],{"class":64},"    From",[33,99,100],{"class":43},":",[33,102,71],{"class":47},[33,104,74],{"class":43},[33,106,107],{"class":47},"LetterParty",[33,109,91],{"class":43},[33,111,113,116,118,120,124,127],{"class":35,"line":112},5,[33,114,115],{"class":64},"        Name",[33,117,100],{"class":43},[33,119,44],{"class":43},[33,121,123],{"class":122},"sfazB","ACME Corporation",[33,125,126],{"class":43},"\"",[33,128,129],{"class":43},",\n",[33,131,133,136,138,141,145],{"class":35,"line":132},6,[33,134,135],{"class":64},"        Address",[33,137,100],{"class":43},[33,139,140],{"class":43}," []",[33,142,144],{"class":143},"spNyl","string",[33,146,91],{"class":43},[33,148,150,153,156,158],{"class":35,"line":149},7,[33,151,152],{"class":43},"            \"",[33,154,155],{"class":122},"123 Business Street",[33,157,126],{"class":43},[33,159,129],{"class":43},[33,161,163,165,168,170],{"class":35,"line":162},8,[33,164,152],{"class":43},[33,166,167],{"class":122},"Suite 100",[33,169,126],{"class":43},[33,171,129],{"class":43},[33,173,175,177,180,182],{"class":35,"line":174},9,[33,176,152],{"class":43},[33,178,179],{"class":122},"San Francisco, CA 94105",[33,181,126],{"class":43},[33,183,129],{"class":43},[33,185,187,189,192,194],{"class":35,"line":186},10,[33,188,152],{"class":43},[33,190,191],{"class":122},"contact@acme.com",[33,193,126],{"class":43},[33,195,129],{"class":43},[33,197,199],{"class":35,"line":198},11,[33,200,201],{"class":43},"        },\n",[33,203,205],{"class":35,"line":204},12,[33,206,207],{"class":43},"    },\n",[33,209,211,214,216,218,220,222],{"class":35,"line":210},13,[33,212,213],{"class":64},"    To",[33,215,100],{"class":43},[33,217,71],{"class":47},[33,219,74],{"class":43},[33,221,107],{"class":47},[33,223,91],{"class":43},[33,225,227,229,231,233,236,238],{"class":35,"line":226},14,[33,228,115],{"class":64},[33,230,100],{"class":43},[33,232,44],{"class":43},[33,234,235],{"class":122},"Mr. John Smith",[33,237,126],{"class":43},[33,239,129],{"class":43},[33,241,243,245,247,249,251],{"class":35,"line":242},15,[33,244,135],{"class":64},[33,246,100],{"class":43},[33,248,140],{"class":43},[33,250,144],{"class":143},[33,252,91],{"class":43},[33,254,256,258,261,263],{"class":35,"line":255},16,[33,257,152],{"class":43},[33,259,260],{"class":122},"Tech Solutions Inc.",[33,262,126],{"class":43},[33,264,129],{"class":43},[33,266,268,270,273,275],{"class":35,"line":267},17,[33,269,152],{"class":43},[33,271,272],{"class":122},"456 Client Avenue",[33,274,126],{"class":43},[33,276,129],{"class":43},[33,278,280,282,285,287],{"class":35,"line":279},18,[33,281,152],{"class":43},[33,283,284],{"class":122},"New York, NY 10001",[33,286,126],{"class":43},[33,288,129],{"class":43},[33,290,292],{"class":35,"line":291},19,[33,293,201],{"class":43},[33,295,297],{"class":35,"line":296},20,[33,298,207],{"class":43},[33,300,302,305,307,310,313,315],{"class":35,"line":301},21,[33,303,304],{"class":64},"    Date",[33,306,100],{"class":43},[33,308,309],{"class":43},"     \"",[33,311,312],{"class":122},"March 1, 2026",[33,314,126],{"class":43},[33,316,129],{"class":43},[33,318,320,323,325,328,331,333],{"class":35,"line":319},22,[33,321,322],{"class":64},"    Subject",[33,324,100],{"class":43},[33,326,327],{"class":43},"  \"",[33,329,330],{"class":122},"Partnership Proposal",[33,332,126],{"class":43},[33,334,129],{"class":43},[33,336,338,341,343,345,348,350],{"class":35,"line":337},23,[33,339,340],{"class":64},"    Greeting",[33,342,100],{"class":43},[33,344,44],{"class":43},[33,346,347],{"class":122},"Dear Mr. Smith,",[33,349,126],{"class":43},[33,351,129],{"class":43},[33,353,355,358,360,362,364],{"class":35,"line":354},24,[33,356,357],{"class":64},"    Body",[33,359,100],{"class":43},[33,361,140],{"class":43},[33,363,144],{"class":143},[33,365,91],{"class":43},[33,367,369,372,375,377],{"class":35,"line":368},25,[33,370,371],{"class":43},"        \"",[33,373,374],{"class":122},"I am writing to express our interest in establishing a strategic partnership ",[33,376,126],{"class":43},[33,378,379],{"class":43}," +\n",[33,381,383,385,388,390],{"class":35,"line":382},26,[33,384,152],{"class":43},[33,386,387],{"class":122},"between ACME Corporation and Tech Solutions Inc. Over the past year, we have ",[33,389,126],{"class":43},[33,391,379],{"class":43},[33,393,395,397,400,402],{"class":35,"line":394},27,[33,396,152],{"class":43},[33,398,399],{"class":122},"observed the remarkable growth of your organization and believe that a collaboration ",[33,401,126],{"class":43},[33,403,379],{"class":43},[33,405,407,409,412,414],{"class":35,"line":406},28,[33,408,152],{"class":43},[33,410,411],{"class":122},"would be mutually beneficial.",[33,413,126],{"class":43},[33,415,129],{"class":43},[33,417,419,421,424,426],{"class":35,"line":418},29,[33,420,371],{"class":43},[33,422,423],{"class":122},"Our proposal includes joint development of cloud-based solutions targeting ",[33,425,126],{"class":43},[33,427,379],{"class":43},[33,429,431,433,436,438],{"class":35,"line":430},30,[33,432,152],{"class":43},[33,434,435],{"class":122},"the enterprise market. ACME Corporation brings extensive experience in PDF ",[33,437,126],{"class":43},[33,439,379],{"class":43},[33,441,443,445,448,450],{"class":35,"line":442},31,[33,444,152],{"class":43},[33,446,447],{"class":122},"generation and document processing, while Tech Solutions Inc. has demonstrated ",[33,449,126],{"class":43},[33,451,379],{"class":43},[33,453,455,457,460,462],{"class":35,"line":454},32,[33,456,152],{"class":43},[33,458,459],{"class":122},"excellence in frontend technologies and user experience design.",[33,461,126],{"class":43},[33,463,129],{"class":43},[33,465,467,469,472,474],{"class":35,"line":466},33,[33,468,371],{"class":43},[33,470,471],{"class":122},"We would like to schedule a meeting at your earliest convenience to discuss ",[33,473,126],{"class":43},[33,475,379],{"class":43},[33,477,479,481,484,486],{"class":35,"line":478},34,[33,480,152],{"class":43},[33,482,483],{"class":122},"the details of this proposal. Please feel free to contact me directly at ",[33,485,126],{"class":43},[33,487,379],{"class":43},[33,489,491,493,496,498],{"class":35,"line":490},35,[33,492,152],{"class":43},[33,494,495],{"class":122},"ceo@acme.com or call our office at (415) 555-0100.",[33,497,126],{"class":43},[33,499,129],{"class":43},[33,501,503],{"class":35,"line":502},36,[33,504,207],{"class":43},[33,506,508,511,513,515,518,520],{"class":35,"line":507},37,[33,509,510],{"class":64},"    Closing",[33,512,100],{"class":43},[33,514,309],{"class":43},[33,516,517],{"class":122},"Sincerely,",[33,519,126],{"class":43},[33,521,129],{"class":43},[33,523,525,528,530,533,536,538],{"class":35,"line":524},38,[33,526,527],{"class":64},"    Signature",[33,529,100],{"class":43},[33,531,532],{"class":43},"   \"",[33,534,535],{"class":122},"Jane Doe",[33,537,126],{"class":43},[33,539,129],{"class":43},[33,541,543,546,548,550,553,555],{"class":35,"line":542},39,[33,544,545],{"class":64},"    SignerTitle",[33,547,100],{"class":43},[33,549,44],{"class":43},[33,551,552],{"class":122},"Chief Executive Officer",[33,554,126],{"class":43},[33,556,129],{"class":43},[33,558,560],{"class":35,"line":559},40,[33,561,562],{"class":43},"})\n",[33,564,566],{"class":35,"line":565},41,[33,567,58],{"emptyLinePlaceholder":57},[33,569,571,574,577,580,582,585,587,590],{"class":35,"line":570},42,[33,572,573],{"class":64},"data",[33,575,576],{"class":43},",",[33,578,579],{"class":64}," err ",[33,581,68],{"class":43},[33,583,584],{"class":64}," doc",[33,586,74],{"class":43},[33,588,589],{"class":77},"Generate",[33,591,592],{"class":43},"()\n",[23,594,599],{"className":595,"code":597,"language":598},[596],"language-text","┌─ A4 ──────────────────────────────────────────────┐\n│                                                   │\n│  ACME Corporation                                 │\n│  123 Business Street                              │\n│  Suite 100                                        │\n│  San Francisco, CA 94105                          │\n│  contact@acme.com                                 │\n│                                                   │\n│                                  March 1, 2026    │\n│                                                   │\n│  Mr. John Smith                                   │\n│  Tech Solutions Inc.                              │\n│  456 Client Avenue                                │\n│  New York, NY 10001                               │\n│                                                   │\n│  RE: Partnership Proposal                         │\n│  ──────────────────────────────────────────────── │\n│                                                   │\n│  Dear Mr. Smith,                                  │\n│                                                   │\n│  I am writing to express our interest in          │\n│  establishing a strategic partnership between     │\n│  ACME Corporation and Tech Solutions Inc...       │\n│                                                   │\n│  Our proposal includes joint development of       │\n│  cloud-based solutions targeting the enterprise   │\n│  market...                                        │\n│                                                   │\n│  We would like to schedule a meeting at your      │\n│  earliest convenience to discuss the details...   │\n│                                                   │\n│                                                   │\n│  Sincerely,                                       │\n│                                                   │\n│  Jane Doe                                         │\n│  Chief Executive Officer                          │\n│                                                   │\n└───────────────────────────────────────────────────┘\n","text",[30,600,597],{"__ignoreMap":28},[10,602,604],{"id":603},"data-types","Data Types",[606,607,88],"h3",{"id":608},"letterdata",[610,611,612,628],"table",{},[613,614,615],"thead",{},[616,617,618,622,625],"tr",{},[619,620,621],"th",{},"Field",[619,623,624],{},"Type",[619,626,627],{},"Description",[629,630,631,646,660,674,688,702,717,731,745],"tbody",{},[616,632,633,639,643],{},[634,635,636],"td",{},[30,637,638],{},"From",[634,640,641],{},[30,642,107],{},[634,644,645],{},"Sender information",[616,647,648,653,657],{},[634,649,650],{},[30,651,652],{},"To",[634,654,655],{},[30,656,107],{},[634,658,659],{},"Recipient information",[616,661,662,667,671],{},[634,663,664],{},[30,665,666],{},"Date",[634,668,669],{},[30,670,144],{},[634,672,673],{},"Letter date",[616,675,676,681,685],{},[634,677,678],{},[30,679,680],{},"Subject",[634,682,683],{},[30,684,144],{},[634,686,687],{},"Subject line",[616,689,690,695,699],{},[634,691,692],{},[30,693,694],{},"Greeting",[634,696,697],{},[30,698,144],{},[634,700,701],{},"Opening greeting (e.g., \"Dear Mr. Smith,\")",[616,703,704,709,714],{},[634,705,706],{},[30,707,708],{},"Body",[634,710,711],{},[30,712,713],{},"[]string",[634,715,716],{},"Body paragraphs",[616,718,719,724,728],{},[634,720,721],{},[30,722,723],{},"Closing",[634,725,726],{},[30,727,144],{},[634,729,730],{},"Closing phrase (e.g., \"Sincerely,\")",[616,732,733,738,742],{},[634,734,735],{},[30,736,737],{},"Signature",[634,739,740],{},[30,741,144],{},[634,743,744],{},"Signer name",[616,746,747,752,756],{},[634,748,749],{},[30,750,751],{},"SignerTitle",[634,753,754],{},[30,755,144],{},[634,757,758],{},"Signer title",[606,760,107],{"id":761},"letterparty",[23,763,765],{"className":25,"code":764,"language":27,"meta":28,"style":28},"type LetterParty struct {\n    Name    string\n    Address []string\n}\n",[30,766,767,781,789,799],{"__ignoreMap":28},[33,768,769,772,775,778],{"class":35,"line":36},[33,770,771],{"class":43},"type",[33,773,774],{"class":47}," LetterParty",[33,776,777],{"class":43}," struct",[33,779,780],{"class":43}," {\n",[33,782,783,786],{"class":35,"line":54},[33,784,785],{"class":64},"    Name    ",[33,787,788],{"class":143},"string\n",[33,790,791,794,797],{"class":35,"line":61},[33,792,793],{"class":64},"    Address ",[33,795,796],{"class":43},"[]",[33,798,788],{"class":143},[33,800,801],{"class":35,"line":94},[33,802,803],{"class":43},"}\n",[10,805,807],{"id":806},"customization","Customization",[15,809,810],{},"Pass document options to customize the letter:",[23,812,814],{"className":25,"code":813,"language":27,"meta":28,"style":28},"fontData, _ := os.ReadFile(\"fonts/NotoSansJP-Regular.ttf\")\n\ndoc := template.Letter(letterData,\n    template.WithFont(\"NotoSansJP\", fontData),\n    template.WithDefaultFont(\"NotoSansJP\", 12),\n    template.WithPageSize(document.Letter),\n)\n",[30,815,816,848,852,871,898,923,943],{"__ignoreMap":28},[33,817,818,821,823,826,828,831,833,836,838,840,843,845],{"class":35,"line":36},[33,819,820],{"class":64},"fontData",[33,822,576],{"class":43},[33,824,825],{"class":64}," _ ",[33,827,68],{"class":43},[33,829,830],{"class":64}," os",[33,832,74],{"class":43},[33,834,835],{"class":77},"ReadFile",[33,837,80],{"class":43},[33,839,126],{"class":43},[33,841,842],{"class":122},"fonts/NotoSansJP-Regular.ttf",[33,844,126],{"class":43},[33,846,847],{"class":43},")\n",[33,849,850],{"class":35,"line":54},[33,851,58],{"emptyLinePlaceholder":57},[33,853,854,856,858,860,862,864,866,869],{"class":35,"line":61},[33,855,65],{"class":64},[33,857,68],{"class":43},[33,859,71],{"class":64},[33,861,74],{"class":43},[33,863,5],{"class":77},[33,865,80],{"class":43},[33,867,868],{"class":64},"letterData",[33,870,129],{"class":43},[33,872,873,876,878,881,883,885,888,890,892,895],{"class":35,"line":94},[33,874,875],{"class":64},"    template",[33,877,74],{"class":43},[33,879,880],{"class":77},"WithFont",[33,882,80],{"class":43},[33,884,126],{"class":43},[33,886,887],{"class":122},"NotoSansJP",[33,889,126],{"class":43},[33,891,576],{"class":43},[33,893,894],{"class":64}," fontData",[33,896,897],{"class":43},"),\n",[33,899,900,902,904,907,909,911,913,915,917,921],{"class":35,"line":112},[33,901,875],{"class":64},[33,903,74],{"class":43},[33,905,906],{"class":77},"WithDefaultFont",[33,908,80],{"class":43},[33,910,126],{"class":43},[33,912,887],{"class":122},[33,914,126],{"class":43},[33,916,576],{"class":43},[33,918,920],{"class":919},"sbssI"," 12",[33,922,897],{"class":43},[33,924,925,927,929,932,934,937,939,941],{"class":35,"line":132},[33,926,875],{"class":64},[33,928,74],{"class":43},[33,930,931],{"class":77},"WithPageSize",[33,933,80],{"class":43},[33,935,936],{"class":64},"document",[33,938,74],{"class":43},[33,940,5],{"class":64},[33,942,897],{"class":43},[33,944,945],{"class":35,"line":149},[33,946,847],{"class":43},[10,948,950],{"id":949},"using-the-facade","Using the Facade",[23,952,954],{"className":25,"code":953,"language":27,"meta":28,"style":28},"import \"github.com/gpdf-dev/gpdf\"\n\ndoc := gpdf.NewLetter(letterData)\n",[30,955,956,967,971],{"__ignoreMap":28},[33,957,958,960,962,965],{"class":35,"line":36},[33,959,40],{"class":39},[33,961,44],{"class":43},[33,963,964],{"class":47},"github.com/gpdf-dev/gpdf",[33,966,51],{"class":43},[33,968,969],{"class":35,"line":54},[33,970,58],{"emptyLinePlaceholder":57},[33,972,973,975,977,980,982,985,987,989],{"class":35,"line":61},[33,974,65],{"class":64},[33,976,68],{"class":43},[33,978,979],{"class":64}," gpdf",[33,981,74],{"class":43},[33,983,984],{"class":77},"NewLetter",[33,986,80],{"class":43},[33,988,868],{"class":64},[33,990,847],{"class":43},[992,993,994],"style",{},"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 .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}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 .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}",{"title":28,"searchDepth":54,"depth":54,"links":996},[997,998,999,1003,1004],{"id":12,"depth":54,"text":13},{"id":20,"depth":54,"text":21},{"id":603,"depth":54,"text":604,"children":1000},[1001,1002],{"id":608,"depth":61,"text":88},{"id":761,"depth":61,"text":107},{"id":806,"depth":54,"text":807},{"id":949,"depth":54,"text":950},"Professional business letter PDF component","md",{},"/docs/templates/estimate",{"title":5,"description":1005},"docs/4.templates/3.estimate","FMy6n2rv4DpaN4BsPiYYuPT5QpW2bpaAH2d_Rv4nyfk",1776526794688]