# fsys.openXml.pptx 库模块帮助文档

[» PPTX 文本读取](https://www.aardio.com/zh-cn/docs/library/fsys/openXml/pptx/)

## fsys.openXml.pptx 成员列表 <a id="fsys.openXml.pptx" href="#fsys.openXml.pptx">&#x23;</a>

不依赖 Office 的 PresentationML 读取、资源导出、生成与有限编辑。  
read 不渲染版式；write 生成文本/形状/图片/表格/备注/常用动画，edit 受控修改并另存。

### fsys.openXml.pptx.edit() <a id="fsys.openXml.pptx.edit" href="#fsys.openXml.pptx.edit">&#x23;</a>
[返回对象:openXmlPptxEditorObject](#openXmlPptxEditorObject)

### fsys.openXml.pptx.edit(path,options) <a id="fsys.openXml.pptx.edit" href="#fsys.openXml.pptx.edit">&#x23;</a>
返回受控编辑会话，便捷转发 pptx.editor.open；不修改源件。

### fsys.openXml.pptx.extractMedia() <a id="fsys.openXml.pptx.extractMedia" href="#fsys.openXml.pptx.extractMedia">&#x23;</a>
[返回对象:openXmlMediaExportObject](#openXmlMediaExportObject)

### fsys.openXml.pptx.extractMedia(path,outputDir,options) <a id="fsys.openXml.pptx.extractMedia" href="#fsys.openXml.pptx.extractMedia">&#x23;</a>
将 listMedia 所列文件平铺导出；返回 outputDir,files,skipped。  
options.overwrite 默认 false，已有普通文件列入 skipped；显式 true 才覆盖。  
同名平铺冲突在落盘前报错，设备名/非法文件名拒绝。每个部件先验 CRC/长度/限额后提交临时文件。  
失败返回 null,err,partial；partial 为已经提交/跳过的结果（若尚未开始则为空值）。不是整批事务；不会回滚之前已成功导出的文件。  
只复制原始字节，不执行/转码；读取限额同 fsys.openXml.open。

### fsys.openXml.pptx.listEntries(path,pattern,options) <a id="fsys.openXml.pptx.listEntries" href="#fsys.openXml.pptx.listEntries">&#x23;</a>
识别 PresentationML 主部件后列出 ZIP 元信息；可选 pattern 为 aardio 模式串。  
数组项为 name,isDir,size,compressedSize,contentType，包含实际存在的目录项；不合成隐式目录。  
不读取幻灯片正文或媒体内容，不代表整包通过内容校验；限额同 fsys.openXml.open。

### fsys.openXml.pptx.listMedia(path,options) <a id="fsys.openXml.pptx.listMedia" href="#fsys.openXml.pptx.listMedia">&#x23;</a>
列出 ppt/media/ 及主部件同级 media/ 目录下的文件（含子目录，不含目录项）。  
数组项为 partName,name,ext,size,compressedSize,contentType；name 为末级文件名，ext 不含点。  
包含目录内未引用文件，不做逐页媒体映射，不保证发现放在任意其他路径的资源；不访问外部关系。

### fsys.openXml.pptx.read() <a id="fsys.openXml.pptx.read" href="#fsys.openXml.pptx.read">&#x23;</a>
[返回对象:openXmlPresentationObject](#openXmlPresentationObject)

### fsys.openXml.pptx.read(path,options) <a id="fsys.openXml.pptx.read" href="#fsys.openXml.pptx.read">&#x23;</a>
按主文档 sldIdLst 顺序读取页面，以关系配对备注。  
options.includeNotes 默认 true；其他读取限额同 fsys.openXml.open。  
依据实际包结构识别类型；支持 Transitional 与 Strict 核心命名空间。  
失败返回 null,err，自动关闭包；未支持内容记录 warnings。

### fsys.openXml.pptx.write(path,slides,options) <a id="fsys.openXml.pptx.write" href="#fsys.openXml.pptx.write">&#x23;</a>
便捷转发 builder.write；默认不覆盖，成功完整路径，失败 null,err。  
纯生成任务建议直接 import fsys.openXml.pptx.builder，避免引入读取器；详情见生成指南。

## openXmlMediaExportObject 成员列表 <a id="openXmlMediaExportObject" href="#openXmlMediaExportObject">&#x23;</a>

### openXmlMediaExportObject.files <a id="openXmlMediaExportObject.files" href="#openXmlMediaExportObject.files">&#x23;</a>
本次成功导出的数组；含 name,partName,source,path,ext,size,compressedSize,contentType。  
source 与 partName 为包内 URI；path 为完整输出文件路径。

### openXmlMediaExportObject.outputDir <a id="openXmlMediaExportObject.outputDir" href="#openXmlMediaExportObject.outputDir">&#x23;</a>
完整输出目录。

### openXmlMediaExportObject.skipped <a id="openXmlMediaExportObject.skipped" href="#openXmlMediaExportObject.skipped">&#x23;</a>
overwrite=false 时跳过的已有普通文件；字段同 files。  
跳过文件不读取内容、不做 CRC 校验。

## openXmlPresentationObject 成员列表 <a id="openXmlPresentationObject" href="#openXmlPresentationObject">&#x23;</a>

### openXmlPresentationObject.mainPart <a id="openXmlPresentationObject.mainPart" href="#openXmlPresentationObject.mainPart">&#x23;</a>
主文档部件名。

### openXmlPresentationObject.noteCount <a id="openXmlPresentationObject.noteCount" href="#openXmlPresentationObject.noteCount">&#x23;</a>
具有备注部件的页面数量；不按 notesSlide 文件编号计数。

### openXmlPresentationObject.notes <a id="openXmlPresentationObject.notes" href="#openXmlPresentationObject.notes">&#x23;</a>
启用备注时与 slides 一一对应，无备注用空字符串；禁用时为空数组。

### openXmlPresentationObject.notesText <a id="openXmlPresentationObject.notesText" href="#openXmlPresentationObject.notesText">&#x23;</a>
对齐后的备注文本以两个 CRLF 分隔。

### openXmlPresentationObject.pages <a id="openXmlPresentationObject.pages" href="#openXmlPresentationObject.pages">&#x23;</a>
页面明细数组：index,id,relationshipId,partName,hidden,text,paragraphs,tables,notesPart,notesText。  
paragraphs 为源顺序段落字符串数组（包括表格段落）；tables 元素含 rows 二维文本数组、rowCount。  
表格文本以 TAB 分列、CRLF 分行，不重建合并单元格。

### openXmlPresentationObject.path <a id="openXmlPresentationObject.path" href="#openXmlPresentationObject.path">&#x23;</a>
源文件完整路径。

### openXmlPresentationObject.slideCount <a id="openXmlPresentationObject.slideCount" href="#openXmlPresentationObject.slideCount">&#x23;</a>
sldIdLst 中的实际页面数，包含隐藏和空白页。

### openXmlPresentationObject.slides <a id="openXmlPresentationObject.slides" href="#openXmlPresentationObject.slides">&#x23;</a>
按页面顺序排列的文本数组，保留空白页。

### openXmlPresentationObject.text <a id="openXmlPresentationObject.text" href="#openXmlPresentationObject.text">&#x23;</a>
页面文本以两个 CRLF 分隔；页面内按 XML 形状树顺序，并非视觉阅读顺序。

### openXmlPresentationObject.warnings <a id="openXmlPresentationObject.warnings" href="#openXmlPresentationObject.warnings">&#x23;</a>
未支持内容与兼容回退信息数组：code,message,partName。  
不读取母版/布局继承文本，不做图片 OCR、图表/SmartArt 语义还原。
