[{"data":1,"prerenderedAt":882},["ShallowReactive",2],{"docs-es-guide/flatten":3},{"id":4,"title":5,"body":6,"description":875,"extension":876,"meta":877,"navigation":95,"path":878,"seo":879,"stem":880,"__hash__":881},"docsEs/es/docs/2.guide/10.flatten.md","Aplanamiento de formularios",{"type":7,"value":8,"toc":865},"minimark",[9,14,18,22,25,41,45,57,335,339,344,376,380,387,398,402,411,512,516,519,797,801,831,835,861],[10,11,13],"h2",{"id":12},"descripcion-general","Descripcion general",[15,16],"version-badge",{"version":17},"1.0.4",[19,20,21],"p",{},"gpdf puede aplanar campos AcroForm interactivos (campos de texto, casillas de verificacion, botones de opcion, etc.) en contenido de pagina estatico. Despues del aplanamiento, los campos del formulario ya no son editables — su apariencia visual se integra en la pagina.",[19,23,24],{},"Casos de uso comunes:",[26,27,28,32,35,38],"ul",{},[29,30,31],"li",{},"Archivar formularios completados como documentos estaticos",[29,33,34],{},"Prevenir ediciones adicionales en formularios enviados",[29,36,37],{},"Preparar formularios para impresion o distribucion",[29,39,40],{},"Convertir PDFs interactivos en PDFs estaticos",[10,42,44],{"id":43},"aplanamiento-basico","Aplanamiento basico",[19,46,47,48,52,53,56],{},"Use ",[49,50,51],"code",{},"FlattenForms()"," en un documento existente abierto con ",[49,54,55],{},"gpdf.Open()",":",[58,59,64],"pre",{"className":60,"code":61,"language":62,"meta":63,"style":63},"language-go shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import gpdf \"github.com/gpdf-dev/gpdf\"\n\n// Leer un PDF con campos de formulario completados\npdfBytes, _ := os.ReadFile(\"filled-form.pdf\")\n\ndoc, err := gpdf.Open(pdfBytes)\nif err != nil {\n    log.Fatal(err)\n}\n\n// Aplanar todos los campos del formulario en contenido estatico\nif err := doc.FlattenForms(); err != nil {\n    log.Fatal(err)\n}\n\nresult, _ := doc.Save()\nos.WriteFile(\"flattened.pdf\", result, 0644)\n","go","",[49,65,66,90,97,104,143,148,175,192,210,216,221,227,255,270,275,280,302],{"__ignoreMap":63},[67,68,71,75,79,83,87],"span",{"class":69,"line":70},"line",1,[67,72,74],{"class":73},"s7zQu","import",[67,76,78],{"class":77},"sTEyZ"," gpdf ",[67,80,82],{"class":81},"sMK4o","\"",[67,84,86],{"class":85},"sBMFI","github.com/gpdf-dev/gpdf",[67,88,89],{"class":81},"\"\n",[67,91,93],{"class":69,"line":92},2,[67,94,96],{"emptyLinePlaceholder":95},true,"\n",[67,98,100],{"class":69,"line":99},3,[67,101,103],{"class":102},"sHwdD","// Leer un PDF con campos de formulario completados\n",[67,105,107,110,113,116,119,122,125,129,132,134,138,140],{"class":69,"line":106},4,[67,108,109],{"class":77},"pdfBytes",[67,111,112],{"class":81},",",[67,114,115],{"class":77}," _ ",[67,117,118],{"class":81},":=",[67,120,121],{"class":77}," os",[67,123,124],{"class":81},".",[67,126,128],{"class":127},"s2Zo4","ReadFile",[67,130,131],{"class":81},"(",[67,133,82],{"class":81},[67,135,137],{"class":136},"sfazB","filled-form.pdf",[67,139,82],{"class":81},[67,141,142],{"class":81},")\n",[67,144,146],{"class":69,"line":145},5,[67,147,96],{"emptyLinePlaceholder":95},[67,149,151,154,156,159,161,164,166,169,171,173],{"class":69,"line":150},6,[67,152,153],{"class":77},"doc",[67,155,112],{"class":81},[67,157,158],{"class":77}," err ",[67,160,118],{"class":81},[67,162,163],{"class":77}," gpdf",[67,165,124],{"class":81},[67,167,168],{"class":127},"Open",[67,170,131],{"class":81},[67,172,109],{"class":77},[67,174,142],{"class":81},[67,176,178,181,183,186,189],{"class":69,"line":177},7,[67,179,180],{"class":73},"if",[67,182,158],{"class":77},[67,184,185],{"class":81},"!=",[67,187,188],{"class":81}," nil",[67,190,191],{"class":81}," {\n",[67,193,195,198,200,203,205,208],{"class":69,"line":194},8,[67,196,197],{"class":77},"    log",[67,199,124],{"class":81},[67,201,202],{"class":127},"Fatal",[67,204,131],{"class":81},[67,206,207],{"class":77},"err",[67,209,142],{"class":81},[67,211,213],{"class":69,"line":212},9,[67,214,215],{"class":81},"}\n",[67,217,219],{"class":69,"line":218},10,[67,220,96],{"emptyLinePlaceholder":95},[67,222,224],{"class":69,"line":223},11,[67,225,226],{"class":102},"// Aplanar todos los campos del formulario en contenido estatico\n",[67,228,230,232,234,236,239,241,244,247,249,251,253],{"class":69,"line":229},12,[67,231,180],{"class":73},[67,233,158],{"class":77},[67,235,118],{"class":81},[67,237,238],{"class":77}," doc",[67,240,124],{"class":81},[67,242,243],{"class":127},"FlattenForms",[67,245,246],{"class":81},"();",[67,248,158],{"class":77},[67,250,185],{"class":81},[67,252,188],{"class":81},[67,254,191],{"class":81},[67,256,258,260,262,264,266,268],{"class":69,"line":257},13,[67,259,197],{"class":77},[67,261,124],{"class":81},[67,263,202],{"class":127},[67,265,131],{"class":81},[67,267,207],{"class":77},[67,269,142],{"class":81},[67,271,273],{"class":69,"line":272},14,[67,274,215],{"class":81},[67,276,278],{"class":69,"line":277},15,[67,279,96],{"emptyLinePlaceholder":95},[67,281,283,286,288,290,292,294,296,299],{"class":69,"line":282},16,[67,284,285],{"class":77},"result",[67,287,112],{"class":81},[67,289,115],{"class":77},[67,291,118],{"class":81},[67,293,238],{"class":77},[67,295,124],{"class":81},[67,297,298],{"class":127},"Save",[67,300,301],{"class":81},"()\n",[67,303,305,308,310,313,315,317,320,322,324,327,329,333],{"class":69,"line":304},17,[67,306,307],{"class":77},"os",[67,309,124],{"class":81},[67,311,312],{"class":127},"WriteFile",[67,314,131],{"class":81},[67,316,82],{"class":81},[67,318,319],{"class":136},"flattened.pdf",[67,321,82],{"class":81},[67,323,112],{"class":81},[67,325,326],{"class":77}," result",[67,328,112],{"class":81},[67,330,332],{"class":331},"sbssI"," 0644",[67,334,142],{"class":81},[10,336,338],{"id":337},"que-se-aplana","Que se aplana",[19,340,341,343],{},[49,342,51],{}," procesa todas las anotaciones de widget (widgets de campos de formulario) que tienen flujos de apariencia:",[26,345,346,357,366],{},[29,347,348,352,353,356],{},[349,350,351],"strong",{},"Campos de texto"," (",[49,354,355],{},"Tx",") — el texto ingresado se renderiza como contenido estatico",[29,358,359,352,362,365],{},[349,360,361],{},"Casillas de verificacion y botones de opcion",[49,363,364],{},"Btn",") — el estado seleccionado se renderiza",[29,367,368,371,372,375],{},[349,369,370],{},"Otros tipos de widget"," — cualquier widget con un flujo de apariencia (diccionario ",[49,373,374],{},"/AP",")",[10,377,379],{"id":378},"que-se-preserva","Que se preserva",[19,381,382,383,386],{},"Las anotaciones que no son widgets ",[349,384,385],{},"no"," se eliminan:",[26,388,389,392,395],{},[29,390,391],{},"Anotaciones de enlace (hipervinculos)",[29,393,394],{},"Anotaciones de texto (comentarios, notas adhesivas)",[29,396,397],{},"Otras anotaciones que no son de formulario",[10,399,401],{"id":400},"seguro-para-llamar-en-cualquier-pdf","Seguro para llamar en cualquier PDF",[19,403,404,405,407,408,56],{},"Si el PDF no tiene campos AcroForm, ",[49,406,51],{}," es una operacion nula y devuelve ",[49,409,410],{},"nil",[58,412,414],{"className":60,"code":413,"language":62,"meta":63,"style":63},"doc, _ := gpdf.Open(regularPDFBytes)\n\n// Seguro — no hace nada si no existen formularios\nif err := doc.FlattenForms(); err != nil {\n    log.Fatal(err)\n}\n\nresult, _ := doc.Save()\n",[49,415,416,439,443,448,472,486,490,494],{"__ignoreMap":63},[67,417,418,420,422,424,426,428,430,432,434,437],{"class":69,"line":70},[67,419,153],{"class":77},[67,421,112],{"class":81},[67,423,115],{"class":77},[67,425,118],{"class":81},[67,427,163],{"class":77},[67,429,124],{"class":81},[67,431,168],{"class":127},[67,433,131],{"class":81},[67,435,436],{"class":77},"regularPDFBytes",[67,438,142],{"class":81},[67,440,441],{"class":69,"line":92},[67,442,96],{"emptyLinePlaceholder":95},[67,444,445],{"class":69,"line":99},[67,446,447],{"class":102},"// Seguro — no hace nada si no existen formularios\n",[67,449,450,452,454,456,458,460,462,464,466,468,470],{"class":69,"line":106},[67,451,180],{"class":73},[67,453,158],{"class":77},[67,455,118],{"class":81},[67,457,238],{"class":77},[67,459,124],{"class":81},[67,461,243],{"class":127},[67,463,246],{"class":81},[67,465,158],{"class":77},[67,467,185],{"class":81},[67,469,188],{"class":81},[67,471,191],{"class":81},[67,473,474,476,478,480,482,484],{"class":69,"line":145},[67,475,197],{"class":77},[67,477,124],{"class":81},[67,479,202],{"class":127},[67,481,131],{"class":81},[67,483,207],{"class":77},[67,485,142],{"class":81},[67,487,488],{"class":69,"line":150},[67,489,215],{"class":81},[67,491,492],{"class":69,"line":177},[67,493,96],{"emptyLinePlaceholder":95},[67,495,496,498,500,502,504,506,508,510],{"class":69,"line":194},[67,497,285],{"class":77},[67,499,112],{"class":81},[67,501,115],{"class":77},[67,503,118],{"class":81},[67,505,238],{"class":77},[67,507,124],{"class":81},[67,509,298],{"class":127},[67,511,301],{"class":81},[10,513,515],{"id":514},"aplanamiento-superposicion","Aplanamiento + Superposicion",[19,517,518],{},"Combine el aplanamiento con la superposicion para agregar sellos o marcas de agua despues del aplanamiento:",[58,520,522],{"className":60,"code":521,"language":62,"meta":63,"style":63},"doc, _ := gpdf.Open(filledFormPDF)\n\n// Paso 1: Aplanar campos del formulario\ndoc.FlattenForms()\n\n// Paso 2: Agregar un sello \"PROCESSED\"\ndoc.Overlay(0, func(p *template.PageBuilder) {\n    p.Absolute(document.Mm(130), document.Mm(15), func(c *template.ColBuilder) {\n        c.Text(\"PROCESSED\",\n            template.FontSize(24),\n            template.Bold(),\n            template.TextColor(pdf.RGB(0, 0.5, 0)),\n        )\n    })\n})\n\nresult, _ := doc.Save()\n",[49,523,524,547,551,556,566,570,575,612,672,694,712,724,760,765,770,775,779],{"__ignoreMap":63},[67,525,526,528,530,532,534,536,538,540,542,545],{"class":69,"line":70},[67,527,153],{"class":77},[67,529,112],{"class":81},[67,531,115],{"class":77},[67,533,118],{"class":81},[67,535,163],{"class":77},[67,537,124],{"class":81},[67,539,168],{"class":127},[67,541,131],{"class":81},[67,543,544],{"class":77},"filledFormPDF",[67,546,142],{"class":81},[67,548,549],{"class":69,"line":92},[67,550,96],{"emptyLinePlaceholder":95},[67,552,553],{"class":69,"line":99},[67,554,555],{"class":102},"// Paso 1: Aplanar campos del formulario\n",[67,557,558,560,562,564],{"class":69,"line":106},[67,559,153],{"class":77},[67,561,124],{"class":81},[67,563,243],{"class":127},[67,565,301],{"class":81},[67,567,568],{"class":69,"line":145},[67,569,96],{"emptyLinePlaceholder":95},[67,571,572],{"class":69,"line":150},[67,573,574],{"class":102},"// Paso 2: Agregar un sello \"PROCESSED\"\n",[67,576,577,579,581,584,586,589,591,594,597,600,603,605,608,610],{"class":69,"line":177},[67,578,153],{"class":77},[67,580,124],{"class":81},[67,582,583],{"class":127},"Overlay",[67,585,131],{"class":81},[67,587,588],{"class":331},"0",[67,590,112],{"class":81},[67,592,593],{"class":81}," func(",[67,595,19],{"class":596},"sHdIc",[67,598,599],{"class":81}," *",[67,601,602],{"class":85},"template",[67,604,124],{"class":81},[67,606,607],{"class":85},"PageBuilder",[67,609,375],{"class":81},[67,611,191],{"class":81},[67,613,614,617,619,622,624,627,629,632,634,637,640,643,645,647,649,652,654,656,659,661,663,665,668,670],{"class":69,"line":194},[67,615,616],{"class":77},"    p",[67,618,124],{"class":81},[67,620,621],{"class":127},"Absolute",[67,623,131],{"class":81},[67,625,626],{"class":77},"document",[67,628,124],{"class":81},[67,630,631],{"class":127},"Mm",[67,633,131],{"class":81},[67,635,636],{"class":331},"130",[67,638,639],{"class":81},"),",[67,641,642],{"class":77}," document",[67,644,124],{"class":81},[67,646,631],{"class":127},[67,648,131],{"class":81},[67,650,651],{"class":331},"15",[67,653,639],{"class":81},[67,655,593],{"class":81},[67,657,658],{"class":596},"c",[67,660,599],{"class":81},[67,662,602],{"class":85},[67,664,124],{"class":81},[67,666,667],{"class":85},"ColBuilder",[67,669,375],{"class":81},[67,671,191],{"class":81},[67,673,674,677,679,682,684,686,689,691],{"class":69,"line":212},[67,675,676],{"class":77},"        c",[67,678,124],{"class":81},[67,680,681],{"class":127},"Text",[67,683,131],{"class":81},[67,685,82],{"class":81},[67,687,688],{"class":136},"PROCESSED",[67,690,82],{"class":81},[67,692,693],{"class":81},",\n",[67,695,696,699,701,704,706,709],{"class":69,"line":218},[67,697,698],{"class":77},"            template",[67,700,124],{"class":81},[67,702,703],{"class":127},"FontSize",[67,705,131],{"class":81},[67,707,708],{"class":331},"24",[67,710,711],{"class":81},"),\n",[67,713,714,716,718,721],{"class":69,"line":223},[67,715,698],{"class":77},[67,717,124],{"class":81},[67,719,720],{"class":127},"Bold",[67,722,723],{"class":81},"(),\n",[67,725,726,728,730,733,735,738,740,743,745,747,749,752,754,757],{"class":69,"line":229},[67,727,698],{"class":77},[67,729,124],{"class":81},[67,731,732],{"class":127},"TextColor",[67,734,131],{"class":81},[67,736,737],{"class":77},"pdf",[67,739,124],{"class":81},[67,741,742],{"class":127},"RGB",[67,744,131],{"class":81},[67,746,588],{"class":331},[67,748,112],{"class":81},[67,750,751],{"class":331}," 0.5",[67,753,112],{"class":81},[67,755,756],{"class":331}," 0",[67,758,759],{"class":81},")),\n",[67,761,762],{"class":69,"line":257},[67,763,764],{"class":81},"        )\n",[67,766,767],{"class":69,"line":272},[67,768,769],{"class":81},"    })\n",[67,771,772],{"class":69,"line":277},[67,773,774],{"class":81},"})\n",[67,776,777],{"class":69,"line":282},[67,778,96],{"emptyLinePlaceholder":95},[67,780,781,783,785,787,789,791,793,795],{"class":69,"line":304},[67,782,285],{"class":77},[67,784,112],{"class":81},[67,786,115],{"class":77},[67,788,118],{"class":81},[67,790,238],{"class":77},[67,792,124],{"class":81},[67,794,298],{"class":127},[67,796,301],{"class":81},[10,798,800],{"id":799},"referencia-de-api","Referencia de API",[802,803,804,817],"table",{},[805,806,807],"thead",{},[808,809,810,814],"tr",{},[811,812,813],"th",{},"Metodo",[811,815,816],{},"Descripcion",[818,819,820],"tbody",{},[808,821,822,828],{},[823,824,825],"td",{},[49,826,827],{},"doc.FlattenForms()",[823,829,830],{},"Aplanar todos los campos AcroForm en contenido de pagina estatico",[10,832,834],{"id":833},"proximos-pasos","Proximos pasos",[26,836,837,845,852],{},[29,838,839,844],{},[840,841,843],"a",{"href":842},"/es/docs/guide/overlay","Superposicion de PDF existente"," — Agregar contenido sobre PDFs existentes",[29,846,847,851],{},[840,848,850],{"href":849},"/es/docs/guide/security","Seguridad"," — Encriptacion, PDF/A y firmas digitales",[29,853,854,857,858],{},[840,855,800],{"href":856},"/es/docs/api-reference/gpdf"," — Referencia completa del paquete ",[49,859,860],{},"gpdf",[862,863,864],"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 .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 .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 .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 .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}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 .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}",{"title":63,"searchDepth":92,"depth":92,"links":866},[867,868,869,870,871,872,873,874],{"id":12,"depth":92,"text":13},{"id":43,"depth":92,"text":44},{"id":337,"depth":92,"text":338},{"id":378,"depth":92,"text":379},{"id":400,"depth":92,"text":401},{"id":514,"depth":92,"text":515},{"id":799,"depth":92,"text":800},{"id":833,"depth":92,"text":834},"Aplanar campos AcroForm en contenido de pagina estatico","md",{},"/es/docs/guide/flatten",{"title":5,"description":875},"es/docs/2.guide/10.flatten","2x0mvti2nGYWACp3BlaA0pKNlbMwN25eF69nttAZO10",1776529297614]