[{"data":1,"prerenderedAt":1214},["ShallowReactive",2],{"lit-docx-doc:\u002Fen\u002Fguide\u002Fgenerating":3},{"id":4,"title":5,"body":6,"description":1201,"extension":1202,"keywords":1203,"locale":1207,"meta":1208,"navigation":100,"order":70,"path":1209,"section":1210,"seo":1211,"stem":1212,"__hash__":1213},"docs\u002Fguide\u002Fgenerating.en.md","Generating DOCX",{"type":7,"value":8,"toc":1190},"minimark",[9,46,52,57,176,180,187,299,309,317,322,454,474,612,616,634,835,881,904,908,915,993,997,1065,1073,1077,1154,1164,1168,1186],[10,11,16],"pre",{"className":12,"code":13,"language":14,"meta":15,"style":15},"language-ts shiki shiki-themes github-light github-light github-dark","generateDocx(ast: LitAstNode): Promise\u003CUint8Array>\n","ts","",[17,18,19],"code",{"__ignoreMap":15},[20,21,24,28,32,36,40,43],"span",{"class":22,"line":23},"line",1,[20,25,27],{"class":26},"sgQzM","generateDocx",[20,29,31],{"class":30},"sVPnS","(ast: LitAstNode): ",[20,33,35],{"class":34},"sUNQB","Promise",[20,37,39],{"class":38},"sDD9d","\u003C",[20,41,42],{"class":30},"Uint8Array",[20,44,45],{"class":38},">\n",[47,48,49,51],"p",{},[17,50,27],{}," takes no other arguments. It builds a whole DOCX package from the LitAST and returns the bytes of a complete file; it never patches an existing file in place.",[53,54,56],"h2",{"id":55},"writing-the-bytes","Writing the bytes",[10,58,60],{"className":12,"code":59,"language":14,"meta":15,"style":15},"\u002F\u002F Node\nawait writeFile(\"out.docx\", await generateDocx(ast));\n\n\u002F\u002F Browser: create a download link\nconst bytes = await generateDocx(ast);\nconst url = URL.createObjectURL(new Blob([bytes], {\n  type: \"application\u002Fvnd.openxmlformats-officedocument.wordprocessingml.document\",\n}));\n",[17,61,62,68,95,102,108,128,158,170],{"__ignoreMap":15},[20,63,64],{"class":22,"line":23},[20,65,67],{"class":66},"sqmzS","\u002F\u002F Node\n",[20,69,71,74,77,80,84,87,89,92],{"class":22,"line":70},2,[20,72,73],{"class":38},"await",[20,75,76],{"class":26}," writeFile",[20,78,79],{"class":30},"(",[20,81,83],{"class":82},"s-HEn","\"out.docx\"",[20,85,86],{"class":30},", ",[20,88,73],{"class":38},[20,90,91],{"class":26}," generateDocx",[20,93,94],{"class":30},"(ast));\n",[20,96,98],{"class":22,"line":97},3,[20,99,101],{"emptyLinePlaceholder":100},true,"\n",[20,103,105],{"class":22,"line":104},4,[20,106,107],{"class":66},"\u002F\u002F Browser: create a download link\n",[20,109,111,114,117,120,123,125],{"class":22,"line":110},5,[20,112,113],{"class":38},"const",[20,115,116],{"class":34}," bytes",[20,118,119],{"class":38}," =",[20,121,122],{"class":38}," await",[20,124,91],{"class":26},[20,126,127],{"class":30},"(ast);\n",[20,129,131,133,136,138,141,144,147,149,152,155],{"class":22,"line":130},6,[20,132,113],{"class":38},[20,134,135],{"class":34}," url",[20,137,119],{"class":38},[20,139,140],{"class":34}," URL",[20,142,143],{"class":30},".",[20,145,146],{"class":26},"createObjectURL",[20,148,79],{"class":30},[20,150,151],{"class":38},"new",[20,153,154],{"class":26}," Blob",[20,156,157],{"class":30},"([bytes], {\n",[20,159,161,164,167],{"class":22,"line":160},7,[20,162,163],{"class":30},"  type: ",[20,165,166],{"class":82},"\"application\u002Fvnd.openxmlformats-officedocument.wordprocessingml.document\"",[20,168,169],{"class":30},",\n",[20,171,173],{"class":22,"line":172},8,[20,174,175],{"class":30},"}));\n",[53,177,179],{"id":178},"hand-written-nodes","Hand-written nodes",[47,181,182,183,186],{},"LitAST nodes are plain objects, and the root is a ",[17,184,185],{},"document",":",[10,188,190],{"className":12,"code":189,"language":14,"meta":15,"style":15},"const ast = {\n  type: \"document\",\n  children: [\n    {\n      type: \"paragraph\",\n      children: [\n        { type: \"text\", text: \"Hello \" },\n        { type: \"text\", text: \"world\", marks: [{ type: \"bold\" }] },\n      ],\n    },\n  ],\n};\n",[17,191,192,204,213,218,223,233,238,255,275,281,287,293],{"__ignoreMap":15},[20,193,194,196,199,201],{"class":22,"line":23},[20,195,113],{"class":38},[20,197,198],{"class":34}," ast",[20,200,119],{"class":38},[20,202,203],{"class":30}," {\n",[20,205,206,208,211],{"class":22,"line":70},[20,207,163],{"class":30},[20,209,210],{"class":82},"\"document\"",[20,212,169],{"class":30},[20,214,215],{"class":22,"line":97},[20,216,217],{"class":30},"  children: [\n",[20,219,220],{"class":22,"line":104},[20,221,222],{"class":30},"    {\n",[20,224,225,228,231],{"class":22,"line":110},[20,226,227],{"class":30},"      type: ",[20,229,230],{"class":82},"\"paragraph\"",[20,232,169],{"class":30},[20,234,235],{"class":22,"line":130},[20,236,237],{"class":30},"      children: [\n",[20,239,240,243,246,249,252],{"class":22,"line":160},[20,241,242],{"class":30},"        { type: ",[20,244,245],{"class":82},"\"text\"",[20,247,248],{"class":30},", text: ",[20,250,251],{"class":82},"\"Hello \"",[20,253,254],{"class":30}," },\n",[20,256,257,259,261,263,266,269,272],{"class":22,"line":172},[20,258,242],{"class":30},[20,260,245],{"class":82},[20,262,248],{"class":30},[20,264,265],{"class":82},"\"world\"",[20,267,268],{"class":30},", marks: [{ type: ",[20,270,271],{"class":82},"\"bold\"",[20,273,274],{"class":30}," }] },\n",[20,276,278],{"class":22,"line":277},9,[20,279,280],{"class":30},"      ],\n",[20,282,284],{"class":22,"line":283},10,[20,285,286],{"class":30},"    },\n",[20,288,290],{"class":22,"line":289},11,[20,291,292],{"class":30},"  ],\n",[20,294,296],{"class":22,"line":295},12,[20,297,298],{"class":30},"};\n",[47,300,301,302,305,306,143],{},"Generating this document and reading it back with ",[17,303,304],{},"parseDocx"," yields exactly the same ",[17,307,308],{},"children",[53,310,312,313,316],{"id":311},"using-the-docx-helpers","Using the ",[17,314,315],{},"docx"," helpers",[47,318,319,321],{},[17,320,315],{}," is a grouped helper object. It returns nodes like the ones above, only shorter to write and type-checked:",[323,324,325,338],"table",{},[326,327,328],"thead",{},[329,330,331,335],"tr",{},[332,333,334],"th",{},"Group",[332,336,337],{},"Contents",[339,340,341,369,387,407,427],"tbody",{},[329,342,343,349],{},[344,345,346],"td",{},[17,347,348],{},"docx.blocks",[344,350,351,86,354,86,357,86,360,86,363,86,366],{},[17,352,353],{},"paragraph",[17,355,356],{},"heading",[17,358,359],{},"blockquote",[17,361,362],{},"codeBlock",[17,364,365],{},"pageBreak",[17,367,368],{},"callout",[329,370,371,376],{},[344,372,373],{},[17,374,375],{},"docx.inline",[344,377,378,86,381,86,384],{},[17,379,380],{},"text",[17,382,383],{},"link",[17,385,386],{},"ruby",[329,388,389,394],{},[344,390,391],{},[17,392,393],{},"docx.marks",[344,395,396,86,399,86,402,86,404],{},[17,397,398],{},"bold",[17,400,401],{},"highlight",[17,403,383],{},[17,405,406],{},"textStyle",[329,408,409,414],{},[344,410,411],{},[17,412,413],{},"docx.tables",[344,415,416,86,418,86,421,86,424],{},[17,417,323],{},[17,419,420],{},"row",[17,422,423],{},"cell",[17,425,426],{},"shadedCell",[329,428,429,434],{},[344,430,431],{},[17,432,433],{},"docx.styles",[344,435,436,86,439,86,442,86,445,86,448,86,451],{},[17,437,438],{},"paragraphProperties",[17,440,441],{},"spacing",[17,443,444],{},"indentation",[17,446,447],{},"shading",[17,449,450],{},"border",[17,452,453],{},"runProperties",[47,455,456,457,459,460,86,463,466,467,470,471,143],{},"The helpers do not cover every node. The ",[17,458,185],{}," root, ",[17,461,462],{},"image",[17,464,465],{},"section"," and ",[17,468,469],{},"list"," are written by hand, and the two styles mix freely. Marks without a helper, such as italic, are written as ",[17,472,473],{},"{ type: \"italic\" }",[10,475,477],{"className":12,"code":476,"language":14,"meta":15,"style":15},"docx.blocks.paragraph({\n  children: [\n    docx.inline.text(\"Important\", { marks: [docx.marks.bold(), docx.marks.textStyle({ color: \"C00000\", fontSize: \"14pt\" })] }),\n    docx.inline.text(\": see \"),\n    docx.inline.link(\"the notes\", { href: \"https:\u002F\u002Fexample.com\" }),\n  ],\n  properties: docx.styles.paragraphProperties({\n    textAlign: \"center\",\n    spacing: docx.styles.spacing({ after: 120 }),\n  }),\n});\n",[17,478,479,489,493,530,544,564,568,577,587,602,607],{"__ignoreMap":15},[20,480,481,484,486],{"class":22,"line":23},[20,482,483],{"class":30},"docx.blocks.",[20,485,353],{"class":26},[20,487,488],{"class":30},"({\n",[20,490,491],{"class":22,"line":70},[20,492,217],{"class":30},[20,494,495,498,500,502,505,508,510,513,515,518,521,524,527],{"class":22,"line":97},[20,496,497],{"class":30},"    docx.inline.",[20,499,380],{"class":26},[20,501,79],{"class":30},[20,503,504],{"class":82},"\"Important\"",[20,506,507],{"class":30},", { marks: [docx.marks.",[20,509,398],{"class":26},[20,511,512],{"class":30},"(), docx.marks.",[20,514,406],{"class":26},[20,516,517],{"class":30},"({ color: ",[20,519,520],{"class":82},"\"C00000\"",[20,522,523],{"class":30},", fontSize: ",[20,525,526],{"class":82},"\"14pt\"",[20,528,529],{"class":30}," })] }),\n",[20,531,532,534,536,538,541],{"class":22,"line":104},[20,533,497],{"class":30},[20,535,380],{"class":26},[20,537,79],{"class":30},[20,539,540],{"class":82},"\": see \"",[20,542,543],{"class":30},"),\n",[20,545,546,548,550,552,555,558,561],{"class":22,"line":110},[20,547,497],{"class":30},[20,549,383],{"class":26},[20,551,79],{"class":30},[20,553,554],{"class":82},"\"the notes\"",[20,556,557],{"class":30},", { href: ",[20,559,560],{"class":82},"\"https:\u002F\u002Fexample.com\"",[20,562,563],{"class":30}," }),\n",[20,565,566],{"class":22,"line":130},[20,567,292],{"class":30},[20,569,570,573,575],{"class":22,"line":160},[20,571,572],{"class":30},"  properties: docx.styles.",[20,574,438],{"class":26},[20,576,488],{"class":30},[20,578,579,582,585],{"class":22,"line":172},[20,580,581],{"class":30},"    textAlign: ",[20,583,584],{"class":82},"\"center\"",[20,586,169],{"class":30},[20,588,589,592,594,597,600],{"class":22,"line":277},[20,590,591],{"class":30},"    spacing: docx.styles.",[20,593,441],{"class":26},[20,595,596],{"class":30},"({ after: ",[20,598,599],{"class":34},"120",[20,601,563],{"class":30},[20,603,604],{"class":22,"line":283},[20,605,606],{"class":30},"  }),\n",[20,608,609],{"class":22,"line":289},[20,610,611],{"class":30},"});\n",[53,613,615],{"id":614},"phonetic-guides","Phonetic guides",[47,617,618,621,622,625,626,629,630,633],{},[17,619,620],{},"docx.inline.ruby"," produces native ",[17,623,624],{},"w:ruby",". ",[17,627,628],{},"base"," is the body text and ",[17,631,632],{},"annotation"," is the\nphonetic text; each layer can carry its own formatting. The caller supplies the pronunciation;\nlit-docx does not include an automatic pinyin dictionary.",[10,635,637],{"className":12,"code":636,"language":14,"meta":15,"style":15},"const guide = docx.inline.ruby({\n  marks: [docx.marks.textStyle({ fontSize: \"12pt\" })],\n  base: [docx.inline.text(\"汉\", {\n    marks: [docx.marks.textStyle({ fontSize: \"12pt\" })],\n  })],\n  annotation: [docx.inline.text(\"hàn\", {\n    marks: [docx.marks.textStyle({ fontFamily: \"Arial\", fontSize: \"6pt\" })],\n  })],\n  rubyAlign: \"center\",\n  hps: 12,\n  hpsRaise: 24,\n  hpsBaseText: 24,\n  lid: \"zh-CN\",\n});\nconst bytes = await generateDocx({\n  type: \"document\",\n  children: [docx.blocks.paragraph({ children: [guide] })],\n});\n",[17,638,639,655,671,686,699,704,718,737,741,750,760,770,779,790,795,810,819,830],{"__ignoreMap":15},[20,640,641,643,646,648,651,653],{"class":22,"line":23},[20,642,113],{"class":38},[20,644,645],{"class":34}," guide",[20,647,119],{"class":38},[20,649,650],{"class":30}," docx.inline.",[20,652,386],{"class":26},[20,654,488],{"class":30},[20,656,657,660,662,665,668],{"class":22,"line":70},[20,658,659],{"class":30},"  marks: [docx.marks.",[20,661,406],{"class":26},[20,663,664],{"class":30},"({ fontSize: ",[20,666,667],{"class":82},"\"12pt\"",[20,669,670],{"class":30}," })],\n",[20,672,673,676,678,680,683],{"class":22,"line":97},[20,674,675],{"class":30},"  base: [docx.inline.",[20,677,380],{"class":26},[20,679,79],{"class":30},[20,681,682],{"class":82},"\"汉\"",[20,684,685],{"class":30},", {\n",[20,687,688,691,693,695,697],{"class":22,"line":104},[20,689,690],{"class":30},"    marks: [docx.marks.",[20,692,406],{"class":26},[20,694,664],{"class":30},[20,696,667],{"class":82},[20,698,670],{"class":30},[20,700,701],{"class":22,"line":110},[20,702,703],{"class":30},"  })],\n",[20,705,706,709,711,713,716],{"class":22,"line":130},[20,707,708],{"class":30},"  annotation: [docx.inline.",[20,710,380],{"class":26},[20,712,79],{"class":30},[20,714,715],{"class":82},"\"hàn\"",[20,717,685],{"class":30},[20,719,720,722,724,727,730,732,735],{"class":22,"line":160},[20,721,690],{"class":30},[20,723,406],{"class":26},[20,725,726],{"class":30},"({ fontFamily: ",[20,728,729],{"class":82},"\"Arial\"",[20,731,523],{"class":30},[20,733,734],{"class":82},"\"6pt\"",[20,736,670],{"class":30},[20,738,739],{"class":22,"line":172},[20,740,703],{"class":30},[20,742,743,746,748],{"class":22,"line":277},[20,744,745],{"class":30},"  rubyAlign: ",[20,747,584],{"class":82},[20,749,169],{"class":30},[20,751,752,755,758],{"class":22,"line":283},[20,753,754],{"class":30},"  hps: ",[20,756,757],{"class":34},"12",[20,759,169],{"class":30},[20,761,762,765,768],{"class":22,"line":289},[20,763,764],{"class":30},"  hpsRaise: ",[20,766,767],{"class":34},"24",[20,769,169],{"class":30},[20,771,772,775,777],{"class":22,"line":295},[20,773,774],{"class":30},"  hpsBaseText: ",[20,776,767],{"class":34},[20,778,169],{"class":30},[20,780,782,785,788],{"class":22,"line":781},13,[20,783,784],{"class":30},"  lid: ",[20,786,787],{"class":82},"\"zh-CN\"",[20,789,169],{"class":30},[20,791,793],{"class":22,"line":792},14,[20,794,611],{"class":30},[20,796,798,800,802,804,806,808],{"class":22,"line":797},15,[20,799,113],{"class":38},[20,801,116],{"class":34},[20,803,119],{"class":38},[20,805,122],{"class":38},[20,807,91],{"class":26},[20,809,488],{"class":30},[20,811,813,815,817],{"class":22,"line":812},16,[20,814,163],{"class":30},[20,816,210],{"class":82},[20,818,169],{"class":30},[20,820,822,825,827],{"class":22,"line":821},17,[20,823,824],{"class":30},"  children: [docx.blocks.",[20,826,353],{"class":26},[20,828,829],{"class":30},"({ children: [guide] })],\n",[20,831,833],{"class":22,"line":832},18,[20,834,611],{"class":30},[47,836,837,838,86,841,466,844,847,848,850,851,855,856,859,860,862,863,86,866,86,869,86,872,86,875,466,878,143],{},"All five properties are required when authoring. Numeric ",[17,839,840],{},"hps",[17,842,843],{},"hpsRaise",[17,845,846],{},"hpsBaseText","\nvalues are half-points. ",[17,849,843],{}," is the stored raise, ",[852,853,854],"strong",{},"not"," the distance shown in Word's\nPhonetic Guide dialog. This example follows a Word 16.109.2 sample with 12pt base text and\n6pt annotation; it is not an automatic spacing algorithm for arbitrary fonts.\nKeep the outer ",[17,857,858],{},"marks"," size, base-text size and ",[17,861,846],{}," consistent; the reference size does not replace run formatting.\nAlignment values are ",[17,864,865],{},"center",[17,867,868],{},"left",[17,870,871],{},"right",[17,873,874],{},"distributeLetter",[17,876,877],{},"distributeSpace",[17,879,880],{},"rightVertical",[47,882,883,884,886,887,890,891,896,897,899,900,903],{},"Parsed nodes store base text in ",[17,885,308],{}," and annotation in ",[17,888,889],{},"attrs.rubyText",". Edit those\nnodes or properties before generating again. Unchanged or unmodeled source properties\nfollow the ",[892,893,895],"a",{"href":894},"\u002Fen\u002Fguide\u002Fround-trip#phonetic-guides","preservation rules",". Place a hyperlink in the\ncomplete ruby node's ",[17,898,858],{},"; do not put ",[17,901,902],{},"docx.inline.link"," directly in either text layer.",[53,905,907],{"id":906},"tables","Tables",[47,909,910,911,914],{},"Tables nest as ",[17,912,913],{},"table > tableRow > tableCell > paragraph",". A cell needs at least one block; cells created with the helper get an empty paragraph automatically.",[10,916,918],{"className":12,"code":917,"language":14,"meta":15,"style":15},"docx.tables.table({\n  columns: [3000, 3000],\n  rows: [\n    docx.tables.row({ isHeader: true, cells: [docx.tables.cell({ children: [docx.blocks.paragraph({ children: [docx.inline.text(\"Region\")] })] })] }),\n  ],\n});\n",[17,919,920,929,944,949,985,989],{"__ignoreMap":15},[20,921,922,925,927],{"class":22,"line":23},[20,923,924],{"class":30},"docx.tables.",[20,926,323],{"class":26},[20,928,488],{"class":30},[20,930,931,934,937,939,941],{"class":22,"line":70},[20,932,933],{"class":30},"  columns: [",[20,935,936],{"class":34},"3000",[20,938,86],{"class":30},[20,940,936],{"class":34},[20,942,943],{"class":30},"],\n",[20,945,946],{"class":22,"line":97},[20,947,948],{"class":30},"  rows: [\n",[20,950,951,954,956,959,962,965,967,970,972,975,977,979,982],{"class":22,"line":104},[20,952,953],{"class":30},"    docx.tables.",[20,955,420],{"class":26},[20,957,958],{"class":30},"({ isHeader: ",[20,960,961],{"class":34},"true",[20,963,964],{"class":30},", cells: [docx.tables.",[20,966,423],{"class":26},[20,968,969],{"class":30},"({ children: [docx.blocks.",[20,971,353],{"class":26},[20,973,974],{"class":30},"({ children: [docx.inline.",[20,976,380],{"class":26},[20,978,79],{"class":30},[20,980,981],{"class":82},"\"Region\"",[20,983,984],{"class":30},")] })] })] }),\n",[20,986,987],{"class":22,"line":110},[20,988,292],{"class":30},[20,990,991],{"class":22,"line":130},[20,992,611],{"class":30},[53,994,996],{"id":995},"images-sections-headers-and-footers","Images, sections, headers and footers",[998,999,1000,1014,1031],"ul",{},[1001,1002,1003,1006,1007,625,1010,1013],"li",{},[852,1004,1005],{},"Images",": ",[17,1008,1009],{},"{ type: \"image\", attrs: { src, width, height } }",[17,1011,1012],{},"src"," is the image data URL; width and height are in pixels at 96 DPI.",[1001,1015,1016,1019,1020,1022,1023,1026,1027,1030],{},[852,1017,1018],{},"Sections",": a ",[17,1021,465],{}," is a sibling inside ",[17,1024,1025],{},"document.children",". It ends the section formed by the content ",[852,1028,1029],{},"before"," it and carries that section's page setup.",[1001,1032,1033,1036,1037,1039,1040,1043,1044,1047,1048,1043,1051,1054,1055,86,1058,1061,1062,143],{},[852,1034,1035],{},"Headers and footers",": children of a ",[17,1038,465],{},". A ",[17,1041,1042],{},"header"," uses ",[17,1045,1046],{},"attrs.headerType"," and a ",[17,1049,1050],{},"footer",[17,1052,1053],{},"attrs.footerType",", each ",[17,1056,1057],{},"\"default\"",[17,1059,1060],{},"\"first\""," or ",[17,1063,1064],{},"\"even\"",[47,1066,1067,1068,1072],{},"The report in ",[892,1069,1071],{"href":1070},"\u002Fen","Quick start"," uses all three.",[53,1074,1076],{"id":1075},"units","Units",[323,1078,1079,1089],{},[326,1080,1081],{},[329,1082,1083,1086],{},[332,1084,1085],{},"Value",[332,1087,1088],{},"Unit",[339,1090,1091,1099,1107,1123,1137],{},[329,1092,1093,1096],{},[344,1094,1095],{},"Page size, margins, paragraph indents, spacing before and after, table column widths",[344,1097,1098],{},"twips, 1\u002F20 of a point; 1 inch = 1440, 1 cm ≈ 567",[329,1100,1101,1104],{},[344,1102,1103],{},"Image width and height",[344,1105,1106],{},"pixels at 96 DPI",[329,1108,1109,1117],{},[344,1110,1111,1114,1115],{},[17,1112,1113],{},"fontSize"," in ",[17,1116,406],{},[344,1118,1119,1120,1122],{},"a string such as ",[17,1121,667],{},", or a number of points",[329,1124,1125,1134],{},[344,1126,1127,1128,86,1130,86,1132],{},"Ruby ",[17,1129,840],{},[17,1131,843],{},[17,1133,846],{},[344,1135,1136],{},"Numeric half-points, or preserved explicit OOXML measurement strings",[329,1138,1139,1142],{},[344,1140,1141],{},"Colors",[344,1143,1144,1145,466,1147,1150,1151],{},"6-digit hex RGB; ",[17,1146,520],{},[17,1148,1149],{},"\"#C00000\""," both work; parsed results include ",[17,1152,1153],{},"#",[47,1155,1156,1157,1160,1161,143],{},"A4 is ",[17,1158,1159],{},"pageWidth: 11906, pageHeight: 16838","; US Letter is ",[17,1162,1163],{},"12240 × 15840",[53,1165,1167],{"id":1166},"parts-added-for-new-documents","Parts added for new documents",[47,1169,1170,1171,86,1174,1177,1178,1181,1182,143],{},"A document built from scratch has no original ",[17,1172,1173],{},"styles.xml",[17,1175,1176],{},"numbering.xml"," and similar parts, so the generator adds the numbering, comment and note parts the content actually uses. LitAST read from an existing file writes back the original parts kept in ",[17,1179,1180],{},"ast.meta.rawXmlFiles","; see ",[892,1183,1185],{"href":1184},"\u002Fen\u002Fguide\u002Fround-trip","Round trips and preservation",[1187,1188,1189],"style",{},"html pre.shiki code .sgQzM, html code.shiki .sgQzM{--shiki-default:#6F42C1;--shiki-light:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sVPnS, html code.shiki .sVPnS{--shiki-default:#24292E;--shiki-light:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sUNQB, html code.shiki .sUNQB{--shiki-default:#005CC5;--shiki-light:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sDD9d, html code.shiki .sDD9d{--shiki-default:#D73A49;--shiki-light:#D73A49;--shiki-dark:#F97583}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 .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 .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 .sqmzS, html code.shiki .sqmzS{--shiki-default:#6A737D;--shiki-light:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .s-HEn, html code.shiki .s-HEn{--shiki-default:#032F62;--shiki-light:#032F62;--shiki-dark:#9ECBFF}",{"title":15,"searchDepth":70,"depth":70,"links":1191},[1192,1193,1194,1196,1197,1198,1199,1200],{"id":55,"depth":70,"text":56},{"id":178,"depth":70,"text":179},{"id":311,"depth":70,"text":1195},"Using the docx helpers",{"id":614,"depth":70,"text":615},{"id":906,"depth":70,"text":907},{"id":995,"depth":70,"text":996},{"id":1075,"depth":70,"text":1076},{"id":1166,"depth":70,"text":1167},"Build LitAST with hand-written nodes or the docx authoring helpers, then produce complete DOCX bytes with generateDocx; includes unit conventions.","md",[27,315,1204,906,1205,1075,1206],"authoring","images","twips","en",{},"\u002Fen\u002Fguide\u002Fgenerating","Guides",{"title":5,"description":1201},"guide\u002Fgenerating.en","-n_HAsCa8RqS15kcokn78GuALYBtsyPEVMxSvsHlzlI",1793045343967]