[{"data":1,"prerenderedAt":1310},["ShallowReactive",2],{"navigation_docs_zh":3,"-zh-core-archive":237,"-zh-core-archive-surround":1305},[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":54,"body":239,"description":1299,"extension":1300,"links":1301,"meta":1302,"navigation":335,"path":55,"seo":1303,"stem":56,"__hash__":1304},"docs_zh\u002Fzh\u002F02.core\u002F07.archive.md",{"type":240,"value":241,"toc":1282},"minimark",[242,246,250,255,263,373,376,527,531,534,585,589,592,653,656,660,663,804,807,814,818,821,882,886,954,957,1218,1221,1278],[243,244,245],"p",{},"OOXML 文件（.docx、.pptx）是包含 XML 部件的 ZIP 归档。archive 模块提供了读写这些归档的底层工具。",[247,248,249],"h2",{"id":249},"读取归档",[251,252,254],"h3",{"id":253},"unziptomap","unzipToMap",[243,256,257,258,262],{},"将 OOXML 文件解压为 ",[259,260,261],"code",{},"Map\u003Cstring, Uint8Array>","：",[264,265,270],"pre",{"className":266,"code":267,"language":268,"meta":269,"style":269},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { readFileSync } from \"node:fs\";\nimport { unzipToMap } from \"@office-open\u002Fcore\";\n\nconst zip = unzipToMap(readFileSync(\"document.docx\"));\n","ts","",[259,271,272,308,330,337],{"__ignoreMap":269},[273,274,277,281,285,289,292,295,298,302,305],"span",{"class":275,"line":276},"line",1,[273,278,280],{"class":279},"s7zQu","import",[273,282,284],{"class":283},"sMK4o"," {",[273,286,288],{"class":287},"sTEyZ"," readFileSync",[273,290,291],{"class":283}," }",[273,293,294],{"class":279}," from",[273,296,297],{"class":283}," \"",[273,299,301],{"class":300},"sfazB","node:fs",[273,303,304],{"class":283},"\"",[273,306,307],{"class":283},";\n",[273,309,311,313,315,318,320,322,324,326,328],{"class":275,"line":310},2,[273,312,280],{"class":279},[273,314,284],{"class":283},[273,316,317],{"class":287}," unzipToMap",[273,319,291],{"class":283},[273,321,294],{"class":279},[273,323,297],{"class":283},[273,325,30],{"class":300},[273,327,304],{"class":283},[273,329,307],{"class":283},[273,331,333],{"class":275,"line":332},3,[273,334,336],{"emptyLinePlaceholder":335},true,"\n",[273,338,340,344,347,350,353,356,359,361,363,366,368,371],{"class":275,"line":339},4,[273,341,343],{"class":342},"spNyl","const",[273,345,346],{"class":287}," zip ",[273,348,349],{"class":283},"=",[273,351,317],{"class":352},"s2Zo4",[273,354,355],{"class":287},"(",[273,357,358],{"class":352},"readFileSync",[273,360,355],{"class":287},[273,362,304],{"class":283},[273,364,365],{"class":300},"document.docx",[273,367,304],{"class":283},[273,369,370],{"class":287},"))",[273,372,307],{"class":283},[251,374,375],{"id":375},"读取函数",[264,377,379],{"className":266,"code":378,"language":268,"meta":269,"style":269},"import { readTextFromZip, readXmlFromZip, readBinaryFromZip } from \"@office-open\u002Fcore\";\n\n\u002F\u002F 读取文本内容\nconst contentTypes = readTextFromZip(zip, \"[Content_Types].xml\");\n\n\u002F\u002F 读取并解析 XML\nconst documentXml = readXmlFromZip(zip, \"word\u002Fdocument.xml\");\n\n\u002F\u002F 读取二进制数据（图片等）\nconst imageData = readBinaryFromZip(zip, \"word\u002Fmedia\u002Fimage1.png\");\n",[259,380,381,413,417,423,451,456,462,489,494,500],{"__ignoreMap":269},[273,382,383,385,387,390,393,396,398,401,403,405,407,409,411],{"class":275,"line":276},[273,384,280],{"class":279},[273,386,284],{"class":283},[273,388,389],{"class":287}," readTextFromZip",[273,391,392],{"class":283},",",[273,394,395],{"class":287}," readXmlFromZip",[273,397,392],{"class":283},[273,399,400],{"class":287}," readBinaryFromZip",[273,402,291],{"class":283},[273,404,294],{"class":279},[273,406,297],{"class":283},[273,408,30],{"class":300},[273,410,304],{"class":283},[273,412,307],{"class":283},[273,414,415],{"class":275,"line":310},[273,416,336],{"emptyLinePlaceholder":335},[273,418,419],{"class":275,"line":332},[273,420,422],{"class":421},"sHwdD","\u002F\u002F 读取文本内容\n",[273,424,425,427,430,432,434,437,439,441,444,446,449],{"class":275,"line":339},[273,426,343],{"class":342},[273,428,429],{"class":287}," contentTypes ",[273,431,349],{"class":283},[273,433,389],{"class":352},[273,435,436],{"class":287},"(zip",[273,438,392],{"class":283},[273,440,297],{"class":283},[273,442,443],{"class":300},"[Content_Types].xml",[273,445,304],{"class":283},[273,447,448],{"class":287},")",[273,450,307],{"class":283},[273,452,454],{"class":275,"line":453},5,[273,455,336],{"emptyLinePlaceholder":335},[273,457,459],{"class":275,"line":458},6,[273,460,461],{"class":421},"\u002F\u002F 读取并解析 XML\n",[273,463,465,467,470,472,474,476,478,480,483,485,487],{"class":275,"line":464},7,[273,466,343],{"class":342},[273,468,469],{"class":287}," documentXml ",[273,471,349],{"class":283},[273,473,395],{"class":352},[273,475,436],{"class":287},[273,477,392],{"class":283},[273,479,297],{"class":283},[273,481,482],{"class":300},"word\u002Fdocument.xml",[273,484,304],{"class":283},[273,486,448],{"class":287},[273,488,307],{"class":283},[273,490,492],{"class":275,"line":491},8,[273,493,336],{"emptyLinePlaceholder":335},[273,495,497],{"class":275,"line":496},9,[273,498,499],{"class":421},"\u002F\u002F 读取二进制数据（图片等）\n",[273,501,503,505,508,510,512,514,516,518,521,523,525],{"class":275,"line":502},10,[273,504,343],{"class":342},[273,506,507],{"class":287}," imageData ",[273,509,349],{"class":283},[273,511,400],{"class":352},[273,513,436],{"class":287},[273,515,392],{"class":283},[273,517,297],{"class":283},[273,519,520],{"class":300},"word\u002Fmedia\u002Fimage1.png",[273,522,304],{"class":283},[273,524,448],{"class":287},[273,526,307],{"class":283},[251,528,530],{"id":529},"readallxmlparts","readAllXmlParts",[243,532,533],{},"解析归档中的所有 XML 部件，跳过二进制文件：",[264,535,537],{"className":266,"code":536,"language":268,"meta":269,"style":269},"import { readAllXmlParts } from \"@office-open\u002Fcore\";\n\nconst parts = readAllXmlParts(zip);\n\u002F\u002F { \"[Content_Types].xml\": Element, \"word\u002Fdocument.xml\": Element, ... }\n",[259,538,539,560,564,580],{"__ignoreMap":269},[273,540,541,543,545,548,550,552,554,556,558],{"class":275,"line":276},[273,542,280],{"class":279},[273,544,284],{"class":283},[273,546,547],{"class":287}," readAllXmlParts",[273,549,291],{"class":283},[273,551,294],{"class":279},[273,553,297],{"class":283},[273,555,30],{"class":300},[273,557,304],{"class":283},[273,559,307],{"class":283},[273,561,562],{"class":275,"line":310},[273,563,336],{"emptyLinePlaceholder":335},[273,565,566,568,571,573,575,578],{"class":275,"line":332},[273,567,343],{"class":342},[273,569,570],{"class":287}," parts ",[273,572,349],{"class":283},[273,574,547],{"class":352},[273,576,577],{"class":287},"(zip)",[273,579,307],{"class":283},[273,581,582],{"class":275,"line":339},[273,583,584],{"class":421},"\u002F\u002F { \"[Content_Types].xml\": Element, \"word\u002Fdocument.xml\": Element, ... }\n",[251,586,588],{"id":587},"listfiles","listFiles",[243,590,591],{},"按路径前缀列出文件：",[264,593,595],{"className":266,"code":594,"language":268,"meta":269,"style":269},"import { listFiles } from \"@office-open\u002Fcore\";\n\nconst mediaFiles = listFiles(zip, \"word\u002Fmedia\u002F\");\n\u002F\u002F [\"word\u002Fmedia\u002Fimage1.png\", \"word\u002Fmedia\u002Fimage2.jpg\"]\n",[259,596,597,618,622,648],{"__ignoreMap":269},[273,598,599,601,603,606,608,610,612,614,616],{"class":275,"line":276},[273,600,280],{"class":279},[273,602,284],{"class":283},[273,604,605],{"class":287}," listFiles",[273,607,291],{"class":283},[273,609,294],{"class":279},[273,611,297],{"class":283},[273,613,30],{"class":300},[273,615,304],{"class":283},[273,617,307],{"class":283},[273,619,620],{"class":275,"line":310},[273,621,336],{"emptyLinePlaceholder":335},[273,623,624,626,629,631,633,635,637,639,642,644,646],{"class":275,"line":332},[273,625,343],{"class":342},[273,627,628],{"class":287}," mediaFiles ",[273,630,349],{"class":283},[273,632,605],{"class":352},[273,634,436],{"class":287},[273,636,392],{"class":283},[273,638,297],{"class":283},[273,640,641],{"class":300},"word\u002Fmedia\u002F",[273,643,304],{"class":283},[273,645,448],{"class":287},[273,647,307],{"class":283},[273,649,650],{"class":275,"line":339},[273,651,652],{"class":421},"\u002F\u002F [\"word\u002Fmedia\u002Fimage1.png\", \"word\u002Fmedia\u002Fimage2.jpg\"]\n",[247,654,655],{"id":655},"写入归档",[251,657,659],{"id":658},"ziptobuffer","zipToBuffer",[243,661,662],{},"从文件映射创建 ZIP 缓冲区：",[264,664,666],{"className":266,"code":665,"language":268,"meta":269,"style":269},"import { zipToBuffer } from \"@office-open\u002Fcore\";\n\nconst files = new Map\u003Cstring, Uint8Array | string>();\nfiles.set(\"word\u002Fdocument.xml\", xmlString);\nfiles.set(\"word\u002Fmedia\u002Fimage.png\", imageBuffer);\n\nconst zipBuffer = zipToBuffer(files);\n",[259,667,668,689,693,734,760,784,788],{"__ignoreMap":269},[273,669,670,672,674,677,679,681,683,685,687],{"class":275,"line":276},[273,671,280],{"class":279},[273,673,284],{"class":283},[273,675,676],{"class":287}," zipToBuffer",[273,678,291],{"class":283},[273,680,294],{"class":279},[273,682,297],{"class":283},[273,684,30],{"class":300},[273,686,304],{"class":283},[273,688,307],{"class":283},[273,690,691],{"class":275,"line":310},[273,692,336],{"emptyLinePlaceholder":335},[273,694,695,697,700,702,705,708,711,715,717,720,723,726,729,732],{"class":275,"line":332},[273,696,343],{"class":342},[273,698,699],{"class":287}," files ",[273,701,349],{"class":283},[273,703,704],{"class":283}," new",[273,706,707],{"class":352}," Map",[273,709,710],{"class":283},"\u003C",[273,712,714],{"class":713},"sBMFI","string",[273,716,392],{"class":283},[273,718,719],{"class":713}," Uint8Array",[273,721,722],{"class":283}," |",[273,724,725],{"class":713}," string",[273,727,728],{"class":283},">",[273,730,731],{"class":287},"()",[273,733,307],{"class":283},[273,735,736,739,742,745,747,749,751,753,755,758],{"class":275,"line":339},[273,737,738],{"class":287},"files",[273,740,741],{"class":283},".",[273,743,744],{"class":352},"set",[273,746,355],{"class":287},[273,748,304],{"class":283},[273,750,482],{"class":300},[273,752,304],{"class":283},[273,754,392],{"class":283},[273,756,757],{"class":287}," xmlString)",[273,759,307],{"class":283},[273,761,762,764,766,768,770,772,775,777,779,782],{"class":275,"line":453},[273,763,738],{"class":287},[273,765,741],{"class":283},[273,767,744],{"class":352},[273,769,355],{"class":287},[273,771,304],{"class":283},[273,773,774],{"class":300},"word\u002Fmedia\u002Fimage.png",[273,776,304],{"class":283},[273,778,392],{"class":283},[273,780,781],{"class":287}," imageBuffer)",[273,783,307],{"class":283},[273,785,786],{"class":275,"line":458},[273,787,336],{"emptyLinePlaceholder":335},[273,789,790,792,795,797,799,802],{"class":275,"line":464},[273,791,343],{"class":342},[273,793,794],{"class":287}," zipBuffer ",[273,796,349],{"class":283},[273,798,676],{"class":352},[273,800,801],{"class":287},"(files)",[273,803,307],{"class":283},[247,805,806],{"id":806},"关系文件",[243,808,809,810,813],{},"OOXML 使用 ",[259,811,812],{},".rels"," 文件定义部件之间的关系。",[251,815,817],{"id":816},"parserels","parseRels",[243,819,820],{},"解析关系文件：",[264,822,824],{"className":266,"code":823,"language":268,"meta":269,"style":269},"import { parseRels } from \"@office-open\u002Fcore\";\n\nconst rels = parseRels(zip, \"word\u002F_rels\u002Fdocument.xml.rels\");\n\u002F\u002F [{ id: \"rId1\", target: \"styles.xml\", type: \"...\", targetMode: \"External\" }, ...]\n",[259,825,826,847,851,877],{"__ignoreMap":269},[273,827,828,830,832,835,837,839,841,843,845],{"class":275,"line":276},[273,829,280],{"class":279},[273,831,284],{"class":283},[273,833,834],{"class":287}," parseRels",[273,836,291],{"class":283},[273,838,294],{"class":279},[273,840,297],{"class":283},[273,842,30],{"class":300},[273,844,304],{"class":283},[273,846,307],{"class":283},[273,848,849],{"class":275,"line":310},[273,850,336],{"emptyLinePlaceholder":335},[273,852,853,855,858,860,862,864,866,868,871,873,875],{"class":275,"line":332},[273,854,343],{"class":342},[273,856,857],{"class":287}," rels ",[273,859,349],{"class":283},[273,861,834],{"class":352},[273,863,436],{"class":287},[273,865,392],{"class":283},[273,867,297],{"class":283},[273,869,870],{"class":300},"word\u002F_rels\u002Fdocument.xml.rels",[273,872,304],{"class":283},[273,874,448],{"class":287},[273,876,307],{"class":283},[273,878,879],{"class":275,"line":339},[273,880,881],{"class":421},"\u002F\u002F [{ id: \"rId1\", target: \"styles.xml\", type: \"...\", targetMode: \"External\" }, ...]\n",[251,883,885],{"id":884},"relationship-接口","Relationship 接口",[264,887,889],{"className":266,"code":888,"language":268,"meta":269,"style":269},"interface Relationship {\n    id: string;\n    target: string;\n    type: string;\n    targetMode?: string;\n}\n",[259,890,891,902,915,926,937,949],{"__ignoreMap":269},[273,892,893,896,899],{"class":275,"line":276},[273,894,895],{"class":342},"interface",[273,897,898],{"class":713}," Relationship",[273,900,901],{"class":283}," {\n",[273,903,904,908,911,913],{"class":275,"line":310},[273,905,907],{"class":906},"swJcz","    id",[273,909,910],{"class":283},":",[273,912,725],{"class":713},[273,914,307],{"class":283},[273,916,917,920,922,924],{"class":275,"line":332},[273,918,919],{"class":906},"    target",[273,921,910],{"class":283},[273,923,725],{"class":713},[273,925,307],{"class":283},[273,927,928,931,933,935],{"class":275,"line":339},[273,929,930],{"class":906},"    type",[273,932,910],{"class":283},[273,934,725],{"class":713},[273,936,307],{"class":283},[273,938,939,942,945,947],{"class":275,"line":453},[273,940,941],{"class":906},"    targetMode",[273,943,944],{"class":283},"?:",[273,946,725],{"class":713},[273,948,307],{"class":283},[273,950,951],{"class":275,"line":458},[273,952,953],{"class":283},"}\n",[247,955,956],{"id":956},"完整示例",[264,958,960],{"className":266,"code":959,"language":268,"meta":269,"style":269},"import { readFileSync, writeFileSync } from \"node:fs\";\nimport { unzipToMap, zipToBuffer, readXmlFromZip, listFiles } from \"@office-open\u002Fcore\";\n\n\u002F\u002F 读取归档\nconst zip = unzipToMap(readFileSync(\"input.docx\"));\n\n\u002F\u002F 列出所有部件\nconst allFiles = listFiles(zip, \"\");\nconsole.log(\"文件:\", allFiles);\n\n\u002F\u002F 读取 XML 部件\nconst document = readXmlFromZip(zip, \"word\u002Fdocument.xml\");\n\n\u002F\u002F 修改映射\nzip.delete(\"word\u002Fsettings.xml\");\n\n\u002F\u002F 写入修改后的归档\nwriteFileSync(\"output.docx\", zipToBuffer(zip));\n",[259,961,962,987,1019,1023,1028,1055,1059,1064,1086,1112,1116,1122,1148,1153,1159,1183,1188,1194],{"__ignoreMap":269},[273,963,964,966,968,970,972,975,977,979,981,983,985],{"class":275,"line":276},[273,965,280],{"class":279},[273,967,284],{"class":283},[273,969,288],{"class":287},[273,971,392],{"class":283},[273,973,974],{"class":287}," writeFileSync",[273,976,291],{"class":283},[273,978,294],{"class":279},[273,980,297],{"class":283},[273,982,301],{"class":300},[273,984,304],{"class":283},[273,986,307],{"class":283},[273,988,989,991,993,995,997,999,1001,1003,1005,1007,1009,1011,1013,1015,1017],{"class":275,"line":310},[273,990,280],{"class":279},[273,992,284],{"class":283},[273,994,317],{"class":287},[273,996,392],{"class":283},[273,998,676],{"class":287},[273,1000,392],{"class":283},[273,1002,395],{"class":287},[273,1004,392],{"class":283},[273,1006,605],{"class":287},[273,1008,291],{"class":283},[273,1010,294],{"class":279},[273,1012,297],{"class":283},[273,1014,30],{"class":300},[273,1016,304],{"class":283},[273,1018,307],{"class":283},[273,1020,1021],{"class":275,"line":332},[273,1022,336],{"emptyLinePlaceholder":335},[273,1024,1025],{"class":275,"line":339},[273,1026,1027],{"class":421},"\u002F\u002F 读取归档\n",[273,1029,1030,1032,1034,1036,1038,1040,1042,1044,1046,1049,1051,1053],{"class":275,"line":453},[273,1031,343],{"class":342},[273,1033,346],{"class":287},[273,1035,349],{"class":283},[273,1037,317],{"class":352},[273,1039,355],{"class":287},[273,1041,358],{"class":352},[273,1043,355],{"class":287},[273,1045,304],{"class":283},[273,1047,1048],{"class":300},"input.docx",[273,1050,304],{"class":283},[273,1052,370],{"class":287},[273,1054,307],{"class":283},[273,1056,1057],{"class":275,"line":458},[273,1058,336],{"emptyLinePlaceholder":335},[273,1060,1061],{"class":275,"line":464},[273,1062,1063],{"class":421},"\u002F\u002F 列出所有部件\n",[273,1065,1066,1068,1071,1073,1075,1077,1079,1082,1084],{"class":275,"line":491},[273,1067,343],{"class":342},[273,1069,1070],{"class":287}," allFiles ",[273,1072,349],{"class":283},[273,1074,605],{"class":352},[273,1076,436],{"class":287},[273,1078,392],{"class":283},[273,1080,1081],{"class":283}," \"\"",[273,1083,448],{"class":287},[273,1085,307],{"class":283},[273,1087,1088,1091,1093,1096,1098,1100,1103,1105,1107,1110],{"class":275,"line":496},[273,1089,1090],{"class":287},"console",[273,1092,741],{"class":283},[273,1094,1095],{"class":352},"log",[273,1097,355],{"class":287},[273,1099,304],{"class":283},[273,1101,1102],{"class":300},"文件:",[273,1104,304],{"class":283},[273,1106,392],{"class":283},[273,1108,1109],{"class":287}," allFiles)",[273,1111,307],{"class":283},[273,1113,1114],{"class":275,"line":502},[273,1115,336],{"emptyLinePlaceholder":335},[273,1117,1119],{"class":275,"line":1118},11,[273,1120,1121],{"class":421},"\u002F\u002F 读取 XML 部件\n",[273,1123,1125,1127,1130,1132,1134,1136,1138,1140,1142,1144,1146],{"class":275,"line":1124},12,[273,1126,343],{"class":342},[273,1128,1129],{"class":287}," document ",[273,1131,349],{"class":283},[273,1133,395],{"class":352},[273,1135,436],{"class":287},[273,1137,392],{"class":283},[273,1139,297],{"class":283},[273,1141,482],{"class":300},[273,1143,304],{"class":283},[273,1145,448],{"class":287},[273,1147,307],{"class":283},[273,1149,1151],{"class":275,"line":1150},13,[273,1152,336],{"emptyLinePlaceholder":335},[273,1154,1156],{"class":275,"line":1155},14,[273,1157,1158],{"class":421},"\u002F\u002F 修改映射\n",[273,1160,1162,1165,1167,1170,1172,1174,1177,1179,1181],{"class":275,"line":1161},15,[273,1163,1164],{"class":287},"zip",[273,1166,741],{"class":283},[273,1168,1169],{"class":352},"delete",[273,1171,355],{"class":287},[273,1173,304],{"class":283},[273,1175,1176],{"class":300},"word\u002Fsettings.xml",[273,1178,304],{"class":283},[273,1180,448],{"class":287},[273,1182,307],{"class":283},[273,1184,1186],{"class":275,"line":1185},16,[273,1187,336],{"emptyLinePlaceholder":335},[273,1189,1191],{"class":275,"line":1190},17,[273,1192,1193],{"class":421},"\u002F\u002F 写入修改后的归档\n",[273,1195,1197,1200,1202,1204,1207,1209,1211,1213,1216],{"class":275,"line":1196},18,[273,1198,1199],{"class":352},"writeFileSync",[273,1201,355],{"class":287},[273,1203,304],{"class":283},[273,1205,1206],{"class":300},"output.docx",[273,1208,304],{"class":283},[273,1210,392],{"class":283},[273,1212,676],{"class":352},[273,1214,1215],{"class":287},"(zip))",[273,1217,307],{"class":283},[247,1219,1220],{"id":1220},"工具函数",[1222,1223,1224,1237],"table",{},[1225,1226,1227],"thead",{},[1228,1229,1230,1234],"tr",{},[1231,1232,1233],"th",{},"函数",[1231,1235,1236],{},"说明",[1238,1239,1240,1255,1265],"tbody",{},[1228,1241,1242,1248],{},[1243,1244,1245],"td",{},[259,1246,1247],{},"uint8ToBase64(data)",[1243,1249,1250,1251,1254],{},"将 ",[259,1252,1253],{},"Uint8Array"," 转换为 base64 字符串",[1228,1256,1257,1262],{},[1243,1258,1259],{},[259,1260,1261],{},"getImageType(fileName)",[1243,1263,1264],{},"根据文件扩展名判断图片类型",[1228,1266,1267,1272],{},[1243,1268,1269],{},[259,1270,1271],{},"elementToXml(el)",[1243,1273,1250,1274,1277],{},[259,1275,1276],{},"Element"," 序列化为 XML 字符串",[1279,1280,1281],"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 .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 .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 .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}",{"title":269,"searchDepth":310,"depth":310,"links":1283},[1284,1290,1293,1297,1298],{"id":249,"depth":310,"text":249,"children":1285},[1286,1287,1288,1289],{"id":253,"depth":332,"text":254},{"id":375,"depth":332,"text":375},{"id":529,"depth":332,"text":530},{"id":587,"depth":332,"text":588},{"id":655,"depth":310,"text":655,"children":1291},[1292],{"id":658,"depth":332,"text":659},{"id":806,"depth":310,"text":806,"children":1294},[1295,1296],{"id":816,"depth":332,"text":817},{"id":884,"depth":332,"text":885},{"id":956,"depth":310,"text":956},{"id":1220,"depth":310,"text":1220},"读写 OOXML ZIP 归档，解析关系文件","md",null,{},{"title":54,"description":1299},"Cy-L3URli3kwVrMHuOQBxzhHmikSrUgiQPEdVacOBi8",[1306,1308],{"title":50,"path":51,"stem":52,"description":1307,"children":-1},"使用 ParsedDocument 解析和修改现有的 OOXML 文档",{"title":58,"path":59,"stem":60,"description":1309,"children":-1},"docx 和 pptx 共享的图表组件 — 柱状图、折线图、饼图、面积图和散点图",1778862993510]