[{"data":1,"prerenderedAt":733},["ShallowReactive",2],{"navigation_docs_zh":3,"-zh-core-formatter":237,"-zh-core-formatter-surround":728},[4,23,61,91,163],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":22},"快速开始","i-lucide-rocket","\u002Fzh\u002Fgetting-started","zh\u002F01.getting-started",[10,14,18],{"title":11,"path":12,"stem":13},"简介","\u002Fzh\u002Fgetting-started\u002Fintroduction","zh\u002F01.getting-started\u002F01.introduction",{"title":15,"path":16,"stem":17},"安装","\u002Fzh\u002Fgetting-started\u002Finstallation","zh\u002F01.getting-started\u002F02.installation",{"title":19,"path":20,"stem":21},"AI 集成","\u002Fzh\u002Fgetting-started\u002Fai-integration","zh\u002F01.getting-started\u002F03.ai-integration",false,{"title":24,"icon":25,"path":26,"stem":27,"children":28,"page":22},"CORE","i-lucide-box","\u002Fzh\u002Fcore","zh\u002F02.core",[29,33,37,41,45,49,53,57],{"title":30,"path":31,"stem":32},"@office-open\u002Fcore","\u002Fzh\u002Fcore\u002Foverview","zh\u002F02.core\u002F01.overview",{"title":34,"path":35,"stem":36},"XML 组件","\u002Fzh\u002Fcore\u002Fxml-components","zh\u002F02.core\u002F02.xml-components",{"title":38,"path":39,"stem":40},"值与验证","\u002Fzh\u002Fcore\u002Fvalues","zh\u002F02.core\u002F03.values",{"title":42,"path":43,"stem":44},"单位转换器","\u002Fzh\u002Fcore\u002Fconverters","zh\u002F02.core\u002F04.converters",{"title":46,"path":47,"stem":48},"Formatter","\u002Fzh\u002Fcore\u002Fformatter","zh\u002F02.core\u002F05.formatter",{"title":50,"path":51,"stem":52},"Parser","\u002Fzh\u002Fcore\u002Fparser","zh\u002F02.core\u002F06.parser",{"title":54,"path":55,"stem":56},"Archive","\u002Fzh\u002Fcore\u002Farchive","zh\u002F02.core\u002F07.archive",{"title":58,"path":59,"stem":60},"Charts","\u002Fzh\u002Fcore\u002Fcharts","zh\u002F02.core\u002F08.charts",{"title":62,"icon":63,"path":64,"stem":65,"children":66,"page":22},"XML","i-lucide-code-xml","\u002Fzh\u002Fxml","zh\u002F03.xml",[67,71,75,79,83,87],{"title":68,"path":69,"stem":70},"@office-open\u002Fxml","\u002Fzh\u002Fxml\u002Foverview","zh\u002F03.xml\u002F01.overview",{"title":72,"path":73,"stem":74},"解析","\u002Fzh\u002Fxml\u002Fparsing","zh\u002F03.xml\u002F02.parsing",{"title":76,"path":77,"stem":78},"序列化","\u002Fzh\u002Fxml\u002Fserialization","zh\u002F03.xml\u002F03.serialization",{"title":80,"path":81,"stem":82},"查询工具","\u002Fzh\u002Fxml\u002Fquery-utilities","zh\u002F03.xml\u002F04.query-utilities",{"title":84,"path":85,"stem":86},"XML 转义","\u002Fzh\u002Fxml\u002Fescape","zh\u002F03.xml\u002F05.escape",{"title":88,"path":89,"stem":90},"类型参考","\u002Fzh\u002Fxml\u002Ftypes","zh\u002F03.xml\u002F06.types",{"title":92,"icon":93,"path":94,"stem":95,"children":96,"page":22},"DOCX","i-lucide-file-text","\u002Fzh\u002Fdocx","zh\u002F04.docx",[97,101,104,108,112,116,120,124,128,132,136,140,144,148,152,156,160],{"title":98,"path":99,"stem":100},"@office-open\u002Fdocx","\u002Fzh\u002Fdocx\u002Foverview","zh\u002F04.docx\u002F01.overview",{"title":5,"path":102,"stem":103},"\u002Fzh\u002Fdocx\u002Fquickstart","zh\u002F04.docx\u002F02.quickstart",{"title":105,"path":106,"stem":107},"文本与段落","\u002Fzh\u002Fdocx\u002Ftext-and-paragraphs","zh\u002F04.docx\u002F03.text-and-paragraphs",{"title":109,"path":110,"stem":111},"表格","\u002Fzh\u002Fdocx\u002Ftables","zh\u002F04.docx\u002F04.tables",{"title":113,"path":114,"stem":115},"图片","\u002Fzh\u002Fdocx\u002Fimages","zh\u002F04.docx\u002F05.images",{"title":117,"path":118,"stem":119},"图表","\u002Fzh\u002Fdocx\u002Fcharts","zh\u002F04.docx\u002F06.charts",{"title":121,"path":122,"stem":123},"SmartArt","\u002Fzh\u002Fdocx\u002Fsmartart","zh\u002F04.docx\u002F07.smartart",{"title":125,"path":126,"stem":127},"媒体","\u002Fzh\u002Fdocx\u002Fmedia","zh\u002F04.docx\u002F08.media",{"title":129,"path":130,"stem":131},"链接","\u002Fzh\u002Fdocx\u002Flinks","zh\u002F04.docx\u002F09.links",{"title":133,"path":134,"stem":135},"页眉与页脚","\u002Fzh\u002Fdocx\u002Fheaders-and-footers","zh\u002F04.docx\u002F10.headers-and-footers",{"title":137,"path":138,"stem":139},"公式与符号","\u002Fzh\u002Fdocx\u002Fequations-and-symbols","zh\u002F04.docx\u002F11.equations-and-symbols",{"title":141,"path":142,"stem":143},"样式与主题","\u002Fzh\u002Fdocx\u002Fstyles-and-themes","zh\u002F04.docx\u002F12.styles-and-themes",{"title":145,"path":146,"stem":147},"页面布局","\u002Fzh\u002Fdocx\u002Fpage-layout","zh\u002F04.docx\u002F13.page-layout",{"title":149,"path":150,"stem":151},"引用","\u002Fzh\u002Fdocx\u002Freferences","zh\u002F04.docx\u002F14.references",{"title":153,"path":154,"stem":155},"批注与修订","\u002Fzh\u002Fdocx\u002Fcomments-and-revisions","zh\u002F04.docx\u002F15.comments-and-revisions",{"title":157,"path":158,"stem":159},"导出","\u002Fzh\u002Fdocx\u002Fexport","zh\u002F04.docx\u002F16.export",{"title":72,"path":161,"stem":162},"\u002Fzh\u002Fdocx\u002Fparsing","zh\u002F04.docx\u002F17.parsing",{"title":164,"icon":165,"path":166,"stem":167,"children":168,"page":22},"PPTX","i-lucide-presentation","\u002Fzh\u002Fpptx","zh\u002F05.pptx",[169,173,176,180,183,186,189,192,195,198,201,204,208,211,215,219,223,227,230,233],{"title":170,"path":171,"stem":172},"@office-open\u002Fpptx","\u002Fzh\u002Fpptx\u002Foverview","zh\u002F05.pptx\u002F01.overview",{"title":5,"path":174,"stem":175},"\u002Fzh\u002Fpptx\u002Fquickstart","zh\u002F05.pptx\u002F02.quickstart",{"title":177,"path":178,"stem":179},"形状与文本","\u002Fzh\u002Fpptx\u002Fshapes-and-text","zh\u002F05.pptx\u002F03.shapes-and-text",{"title":109,"path":181,"stem":182},"\u002Fzh\u002Fpptx\u002Ftables","zh\u002F05.pptx\u002F04.tables",{"title":113,"path":184,"stem":185},"\u002Fzh\u002Fpptx\u002Fimages","zh\u002F05.pptx\u002F05.images",{"title":117,"path":187,"stem":188},"\u002Fzh\u002Fpptx\u002Fcharts","zh\u002F05.pptx\u002F06.charts",{"title":121,"path":190,"stem":191},"\u002Fzh\u002Fpptx\u002Fsmartart","zh\u002F05.pptx\u002F07.smartart",{"title":125,"path":193,"stem":194},"\u002Fzh\u002Fpptx\u002Fmedia","zh\u002F05.pptx\u002F08.media",{"title":129,"path":196,"stem":197},"\u002Fzh\u002Fpptx\u002Flinks","zh\u002F05.pptx\u002F09.links",{"title":133,"path":199,"stem":200},"\u002Fzh\u002Fpptx\u002Fheaders-and-footers","zh\u002F05.pptx\u002F10.headers-and-footers",{"title":137,"path":202,"stem":203},"\u002Fzh\u002Fpptx\u002Fequations-and-symbols","zh\u002F05.pptx\u002F11.equations-and-symbols",{"title":205,"path":206,"stem":207},"线条与连接符","\u002Fzh\u002Fpptx\u002Flines-and-connectors","zh\u002F05.pptx\u002F12.lines-and-connectors",{"title":141,"path":209,"stem":210},"\u002Fzh\u002Fpptx\u002Fstyles-and-themes","zh\u002F05.pptx\u002F13.styles-and-themes",{"title":212,"path":213,"stem":214},"效果与填充","\u002Fzh\u002Fpptx\u002Feffects-and-fills","zh\u002F05.pptx\u002F14.effects-and-fills",{"title":216,"path":217,"stem":218},"幻灯片布局","\u002Fzh\u002Fpptx\u002Fslide-layout","zh\u002F05.pptx\u002F15.slide-layout",{"title":220,"path":221,"stem":222},"切换效果","\u002Fzh\u002Fpptx\u002Ftransitions","zh\u002F05.pptx\u002F16.transitions",{"title":224,"path":225,"stem":226},"动画效果","\u002Fzh\u002Fpptx\u002Fanimations","zh\u002F05.pptx\u002F17.animations",{"title":157,"path":228,"stem":229},"\u002Fzh\u002Fpptx\u002Fexport","zh\u002F05.pptx\u002F18.export",{"title":72,"path":231,"stem":232},"\u002Fzh\u002Fpptx\u002Fparsing","zh\u002F05.pptx\u002F19.parsing",{"title":234,"path":235,"stem":236},"批注","\u002Fzh\u002Fpptx\u002Fcomments","zh\u002F05.pptx\u002F20.comments",{"id":238,"title":46,"body":239,"description":722,"extension":723,"links":724,"meta":725,"navigation":316,"path":47,"seo":726,"stem":48,"__hash__":727},"docs_zh\u002Fzh\u002F02.core\u002F05.formatter.md",{"type":240,"value":241,"toc":715},"minimark",[242,257,261,452,455,465,492,511,515,520,595,598,602,608,669,685,688,700,711],[243,244,245,248,249,252,253,256],"p",{},[246,247,46],"code",{}," 将 ",[246,250,251],{},"XmlComponent"," 树转换为普通对象或 XML 字符串。",[246,254,255],{},"Packer"," 在内部使用它来序列化文档。",[258,259,260],"h2",{"id":260},"基本用法",[262,263,268],"pre",{"className":264,"code":265,"language":266,"meta":267,"style":267},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { Formatter, XmlComponent } from \"@office-open\u002Fcore\";\n\nconst formatter = new Formatter();\n\nconst component = new XmlComponent(\"w:p\");\nconst context = { stack: [], file: {} };\n\nconst xmlObj = formatter.format(component, context);\n\u002F\u002F 返回 IXmlableObject — 普通对象表示\n","ts","",[246,269,270,311,318,342,347,376,411,416,445],{"__ignoreMap":267},[271,272,275,279,283,287,290,293,296,299,302,305,308],"span",{"class":273,"line":274},"line",1,[271,276,278],{"class":277},"s7zQu","import",[271,280,282],{"class":281},"sMK4o"," {",[271,284,286],{"class":285},"sTEyZ"," Formatter",[271,288,289],{"class":281},",",[271,291,292],{"class":285}," XmlComponent",[271,294,295],{"class":281}," }",[271,297,298],{"class":277}," from",[271,300,301],{"class":281}," \"",[271,303,30],{"class":304},"sfazB",[271,306,307],{"class":281},"\"",[271,309,310],{"class":281},";\n",[271,312,314],{"class":273,"line":313},2,[271,315,317],{"emptyLinePlaceholder":316},true,"\n",[271,319,321,325,328,331,334,337,340],{"class":273,"line":320},3,[271,322,324],{"class":323},"spNyl","const",[271,326,327],{"class":285}," formatter ",[271,329,330],{"class":281},"=",[271,332,333],{"class":281}," new",[271,335,286],{"class":336},"s2Zo4",[271,338,339],{"class":285},"()",[271,341,310],{"class":281},[271,343,345],{"class":273,"line":344},4,[271,346,317],{"emptyLinePlaceholder":316},[271,348,350,352,355,357,359,361,364,366,369,371,374],{"class":273,"line":349},5,[271,351,324],{"class":323},[271,353,354],{"class":285}," component ",[271,356,330],{"class":281},[271,358,333],{"class":281},[271,360,292],{"class":336},[271,362,363],{"class":285},"(",[271,365,307],{"class":281},[271,367,368],{"class":304},"w:p",[271,370,307],{"class":281},[271,372,373],{"class":285},")",[271,375,310],{"class":281},[271,377,379,381,384,386,388,392,395,398,400,403,405,408],{"class":273,"line":378},6,[271,380,324],{"class":323},[271,382,383],{"class":285}," context ",[271,385,330],{"class":281},[271,387,282],{"class":281},[271,389,391],{"class":390},"swJcz"," stack",[271,393,394],{"class":281},":",[271,396,397],{"class":285}," []",[271,399,289],{"class":281},[271,401,402],{"class":390}," file",[271,404,394],{"class":281},[271,406,407],{"class":281}," {}",[271,409,410],{"class":281}," };\n",[271,412,414],{"class":273,"line":413},7,[271,415,317],{"emptyLinePlaceholder":316},[271,417,419,421,424,426,429,432,435,438,440,443],{"class":273,"line":418},8,[271,420,324],{"class":323},[271,422,423],{"class":285}," xmlObj ",[271,425,330],{"class":281},[271,427,428],{"class":285}," formatter",[271,430,431],{"class":281},".",[271,433,434],{"class":336},"format",[271,436,437],{"class":285},"(component",[271,439,289],{"class":281},[271,441,442],{"class":285}," context)",[271,444,310],{"class":281},[271,446,448],{"class":273,"line":447},9,[271,449,451],{"class":450},"sHwdD","\u002F\u002F 返回 IXmlableObject — 普通对象表示\n",[258,453,454],{"id":434},"format()",[243,456,457,458,460,461,464],{},"将 ",[246,459,251],{}," 树转换为 ",[246,462,463],{},"IXmlableObject"," — 可进一步处理的普通 JavaScript 对象：",[262,466,468],{"className":264,"code":467,"language":266,"meta":267,"style":267},"const xmlObj = formatter.format(component, context);\n",[246,469,470],{"__ignoreMap":267},[271,471,472,474,476,478,480,482,484,486,488,490],{"class":273,"line":274},[271,473,324],{"class":323},[271,475,423],{"class":285},[271,477,330],{"class":281},[271,479,428],{"class":285},[271,481,431],{"class":281},[271,483,434],{"class":336},[271,485,437],{"class":285},[271,487,289],{"class":281},[271,489,442],{"class":285},[271,491,310],{"class":281},[243,493,494,495,498,499,502,503,506,507,510],{},"返回的对象遵循 xml-js ",[246,496,497],{},"Element"," 结构，包含 ",[246,500,501],{},"name","、",[246,504,505],{},"attributes"," 和 ",[246,508,509],{},"elements"," 字段。",[258,512,514],{"id":513},"formattoxml","formatToXml()",[243,516,457,517,519],{},[246,518,251],{}," 树直接转换为 XML 字符串：",[262,521,523],{"className":264,"code":522,"language":266,"meta":267,"style":267},"const xml = formatter.formatToXml(component, context);\n\u002F\u002F '\u003C?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\\n\u003Cw:p\u002F>'\n\nconst xmlNoDecl = formatter.formatToXml(component, context, false);\n\u002F\u002F '\u003Cw:p\u002F>'\n",[246,524,525,549,554,558,590],{"__ignoreMap":267},[271,526,527,529,532,534,536,538,541,543,545,547],{"class":273,"line":274},[271,528,324],{"class":323},[271,530,531],{"class":285}," xml ",[271,533,330],{"class":281},[271,535,428],{"class":285},[271,537,431],{"class":281},[271,539,540],{"class":336},"formatToXml",[271,542,437],{"class":285},[271,544,289],{"class":281},[271,546,442],{"class":285},[271,548,310],{"class":281},[271,550,551],{"class":273,"line":313},[271,552,553],{"class":450},"\u002F\u002F '\u003C?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\\n\u003Cw:p\u002F>'\n",[271,555,556],{"class":273,"line":320},[271,557,317],{"emptyLinePlaceholder":316},[271,559,560,562,565,567,569,571,573,575,577,580,582,586,588],{"class":273,"line":344},[271,561,324],{"class":323},[271,563,564],{"class":285}," xmlNoDecl ",[271,566,330],{"class":281},[271,568,428],{"class":285},[271,570,431],{"class":281},[271,572,540],{"class":336},[271,574,437],{"class":285},[271,576,289],{"class":281},[271,578,579],{"class":285}," context",[271,581,289],{"class":281},[271,583,585],{"class":584},"sfNiH"," false",[271,587,373],{"class":285},[271,589,310],{"class":281},[271,591,592],{"class":273,"line":349},[271,593,594],{"class":450},"\u002F\u002F '\u003Cw:p\u002F>'\n",[243,596,597],{},"第三个参数控制是否包含 XML 声明。",[258,599,601],{"id":600},"context","Context",[243,603,604,607],{},[246,605,606],{},"IContext"," 对象在格式化过程中传递给组件树：",[262,609,611],{"className":264,"code":610,"language":266,"meta":267,"style":267},"interface IContext\u003CTFileData = {}> {\n    stack: BaseXmlComponent[];\n    file: TFileData;\n}\n",[246,612,613,637,652,664],{"__ignoreMap":267},[271,614,615,618,622,625,628,631,634],{"class":273,"line":274},[271,616,617],{"class":323},"interface",[271,619,621],{"class":620},"sBMFI"," IContext",[271,623,624],{"class":281},"\u003C",[271,626,627],{"class":620},"TFileData",[271,629,630],{"class":281}," =",[271,632,633],{"class":281}," {}>",[271,635,636],{"class":281}," {\n",[271,638,639,642,644,647,650],{"class":273,"line":313},[271,640,641],{"class":390},"    stack",[271,643,394],{"class":281},[271,645,646],{"class":620}," BaseXmlComponent",[271,648,649],{"class":285},"[]",[271,651,310],{"class":281},[271,653,654,657,659,662],{"class":273,"line":320},[271,655,656],{"class":390},"    file",[271,658,394],{"class":281},[271,660,661],{"class":620}," TFileData",[271,663,310],{"class":281},[271,665,666],{"class":273,"line":344},[271,667,668],{"class":281},"}\n",[670,671,672,679],"ul",{},[673,674,675,678],"li",{},[246,676,677],{},"stack"," — 跟踪当前组件层次结构",[673,680,681,684],{},[246,682,683],{},"file"," — 携带文件级数据（媒体、关系等）",[258,686,687],{"id":687},"何时使用",[243,689,690,691,693,694,696,697,699],{},"通常不需要直接使用 ",[246,692,46],{},"。",[246,695,255],{}," 会自动处理序列化。在以下场景使用 ",[246,698,46],{},"：",[670,701,702,705,708],{},[673,703,704],{},"检查组件树的 XML 输出",[673,706,707],{},"构建自定义导出流程",[673,709,710],{},"调试组件结构",[712,713,714],"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 .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}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 pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}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 .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 .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}",{"title":267,"searchDepth":313,"depth":313,"links":716},[717,718,719,720,721],{"id":260,"depth":313,"text":260},{"id":434,"depth":313,"text":454},{"id":513,"depth":313,"text":514},{"id":600,"depth":313,"text":601},{"id":687,"depth":313,"text":687},"将 XmlComponent 树转换为可序列化的 XML 对象和字符串","md",null,{},{"title":46,"description":722},"Lhf1S4boSRr0SoMtegANCssV3IytqEIZYy0_ori7atw",[729,731],{"title":42,"path":43,"stem":44,"description":730,"children":-1},"在 OOXML 度量单位之间转换 — TWIP、EMU、像素、英寸、磅",{"title":50,"path":51,"stem":52,"description":732,"children":-1},"使用 ParsedDocument 解析和修改现有的 OOXML 文档",1778862993167]