# fsys.openXml.pptx.editor 库模块帮助文档

## fsys.openXml.pptx.editor 成员列表 <a id="fsys.openXml.pptx.editor" href="#fsys.openXml.pptx.editor">&#x23;</a>

有限 PPTX 编辑；按真实页序与关系定位，不改源件、不重建全包。

### fsys.openXml.pptx.editor.open() <a id="fsys.openXml.pptx.editor.open" href="#fsys.openXml.pptx.editor.open">&#x23;</a>
[返回对象:openXmlPptxEditorObject](#openXmlPptxEditorObject)

### fsys.openXml.pptx.editor.open(path,options) <a id="fsys.openXml.pptx.editor.open" href="#fsys.openXml.pptx.editor.open">&#x23;</a>
返回编辑会话；Transitional/Strict 的文本/页序可处理；宏只保留不执行。  
输入含包数字签名时拒绝；读取限额同 open。失败 null,err。

## openXmlPptxEditorObject 成员列表 <a id="openXmlPptxEditorObject" href="#openXmlPptxEditorObject">&#x23;</a>

### openXmlPptxEditorObject.changedParts() <a id="openXmlPptxEditorObject.changedParts" href="#openXmlPptxEditorObject.changedParts">&#x23;</a>
返回显式改动部件名称数组（包含已删除部件）。

### openXmlPptxEditorObject.close() <a id="openXmlPptxEditorObject.close" href="#openXmlPptxEditorObject.close">&#x23;</a>
关闭包句柄，可以重复调用。

### openXmlPptxEditorObject.copySlide(slideIndex,insertAt) <a id="openXmlPptxEditorObject.copySlide" href="#openXmlPptxEditorObject.copySlide">&#x23;</a>
同文稿复制一页；insertAt 为复制后的1-based位置，默认紧接原页。返回新页 index,id,partName,relationshipId。  
独立复制备注/图片/常见图表及工作簿；共享原版式/母版；自链接指向副本，其他跳页仍指原目标。未知依赖拒绝，失败不部分修改。不支持跨文稿/用户母版导入。

### openXmlPptxEditorObject.deleteSlide(slideIndex,options) <a id="openXmlPptxEditorObject.deleteSlide" href="#openXmlPptxEditorObject.deleteSlide">&#x23;</a>
删除单页，等同 deleteSlides([slideIndex],options)。

### openXmlPptxEditorObject.deleteSlides(indices,options) <a id="openXmlPptxEditorObject.deleteSlides" href="#openXmlPptxEditorObject.deleteSlides">&#x23;</a>
原子删除当前页号数组；默认拒绝其他页指向被删页的链接，options.links=remove 才移除相应点击/悬停链接。返回删除页数。  
删除页/备注/关系，安全处理自定义放映与节；不全包清理无引用媒体/图表。未知入站引用拒绝，不留下悬空关系。

### openXmlPptxEditorObject.getTable(slideIndex,target) <a id="openXmlPptxEditorObject.getTable" href="#openXmlPptxEditorObject.getTable">&#x23;</a>
target 为表格形状 id 或唯一名称；返回 id,name,rows,merges,rowCount,columnCount,columnWidths,rowHeights。rows 为物理网格文字，合并覆盖格保留位置；尺寸 point。

### openXmlPptxEditorObject.listShapes(slideIndex) <a id="openXmlPptxEditorObject.listShapes" href="#openXmlPptxEditorObject.listShapes">&#x23;</a>
返回 id,name,kind,text,hasText,paragraphCount；分组递归、非视觉排序。段落数仅统计形状自身文字，不合并表格/子形状。

### openXmlPptxEditorObject.listSlides() <a id="openXmlPptxEditorObject.listSlides" href="#openXmlPptxEditorObject.listSlides">&#x23;</a>
按实际页序返回 index,id,partName,relationshipId 数组。

### openXmlPptxEditorObject.mainPart <a id="openXmlPptxEditorObject.mainPart" href="#openXmlPptxEditorObject.mainPart">&#x23;</a>
主文档部件名。

### openXmlPptxEditorObject.mergeTableCells(slideIndex,target,range,options) <a id="openXmlPptxEditorObject.mergeTableCells" href="#openXmlPptxEditorObject.mergeTableCells">&#x23;</a>
range={row,column,rowSpan,colSpan}；横向/纵向/矩形合并，不能重叠已有合并。  
默认拒绝覆盖非空格，options.content=append 时按行优先追加段落并保留格式；行高/列宽与表格尺寸不变。不自动缩字/拆分。

### openXmlPptxEditorObject.path <a id="openXmlPptxEditorObject.path" href="#openXmlPptxEditorObject.path">&#x23;</a>
源文件路径。

### openXmlPptxEditorObject.reorderSlides(order) <a id="openXmlPptxEditorObject.reorderSlides" href="#openXmlPptxEditorObject.reorderSlides">&#x23;</a>
全部页号排列，仅修改 sldIdLst，不删页或清理未知部件。

### openXmlPptxEditorObject.replaceImage(slideIndex,target,dataOrPath) <a id="openXmlPptxEditorObject.replaceImage" href="#openXmlPptxEditorObject.replaceImage">&#x23;</a>
target 为图片 id/唯一名称；替换其现有媒体部件，只接受同类型 PNG/JPEG。  
共享该媒体部件的其他图片也会改变，不静默克隆；成功返回 partName,sharedPart。

### openXmlPptxEditorObject.replaceText(search,replacement,options) <a id="openXmlPptxEditorObject.replaceText" href="#openXmlPptxEditorObject.replaceText">&#x23;</a>
大小写敏感字面替换，跨同一段落相邻 a:r/a:t；替换文本继承首个命中运行格式。  
不跨段落/软换行/域，不改变图片/图表/母版文字。options.slides 为页号数组，includeNotes 默认 false。  
返回替换次数（0 合法），失败 null,err；不接受 CR/LF。

### openXmlPptxEditorObject.save(outputPath,options) <a id="openXmlPptxEditorObject.save" href="#openXmlPptxEditorObject.save">&#x23;</a>
默认不覆盖的另存，禁止覆盖源件；未修改部件解压字节保持不变。成功返回完整路径，失败 null,err。

### openXmlPptxEditorObject.setAnimations(slideIndex,effects,replaceExisting=false) <a id="openXmlPptxEditorObject.setAnimations" href="#openXmlPptxEditorObject.setAnimations">&#x23;</a>
设置整页已支持动画，支持 byParagraph/paragraph（0.9.0+）；已有时间轴默认拒绝；显式 true 才完整替换。  
[] 可清空。仅 Transitional，不合并复杂/未知动画。

### openXmlPptxEditorObject.setTableCell(slideIndex,target,row,column,value) <a id="openXmlPptxEditorObject.setTableCell" href="#openXmlPptxEditorObject.setTableCell">&#x23;</a>
填写一个逻辑格；行列从1开始，null为跳过，空串清空；返回写入数（0合法）。

### openXmlPptxEditorObject.setTableCells(slideIndex,target,values,options) <a id="openXmlPptxEditorObject.setTableCells" href="#openXmlPptxEditorObject.setTableCells">&#x23;</a>
保持表格样式/尺寸填充矩形二维数据；options.row/column 默认1。null 跳过，空串清空，0/false保留。  
文字继承原格首段/首运行格式；替换域和运行链接，不保留旧数据链接；支持 CR/LF 与 VT 软换行。合并覆盖格仅允许空值。返回写入逻辑格数，失败 null,err。

### openXmlPptxEditorObject.setTransition(slideIndex,options,replaceExisting=false) <a id="openXmlPptxEditorObject.setTransition" href="#openXmlPptxEditorObject.setTransition">&#x23;</a>
设置已支持切换，含 Morph 与 fade 回退（0.9.0+）；已有切换默认拒绝，显式 true 完整替换；null 清空。仅 Transitional。
