跳转至

English

PowerPoint API

new_pres

新建空白演示文稿,设为活动,返回 doc_id。

  • 参数: 无参数
  • 返回: str
  • 标志: 普通操作

open_pres

打开现有 .pptx,设为活动,返回 doc_id。

  • 参数: path: str
  • 返回: str
  • 标志: 普通操作

close_pres

关闭演示文稿(doc_id 必须显式传入或 follow_active=True),不退出 PowerPoint。save=True 先保存(从未保存过则自动落盘用户数据目录,不弹另存为)并返回保存路径;save=False 不保存不弹窗,返回 null。

  • 参数: save: bool、doc_id: str
  • 返回: str|null
  • 标志: 会改动文档/应用状态

save

保存演示文稿(doc_id 必须显式传入或 follow_active=True)并返回绝对路径。给 path 则另存到该路径(.pptx);未给 path 则存回原路径(从未保存过自动落盘用户数据目录,不弹另存为);overwrite=True 允许覆盖已存在文件。

  • 参数: path: str、overwrite: bool、doc_id: str
  • 返回: str
  • 标志: 会改动文档/应用状态

save_pdf

把演示文稿(doc_id 必须显式传入或 follow_active=True)导出为 PDF 到指定路径;overwrite=True 允许覆盖已存在文件。

  • 参数: path: str、overwrite: bool、doc_id: str
  • 返回: void
  • 标志: 普通操作

export_slides

把演示文稿(doc_id 必须显式传入或 follow_active=True)每一页导出为 PNG 到 out_dir(slide_01.png…),供视觉检查/迭代。默认 1920x1080。返回文件路径列表。

  • 参数: out_dir: str、width: int、height: int、overwrite: bool、doc_id: str
  • 返回: list
  • 标志: 普通操作

add_slide

在末尾添加一张幻灯片。layout 取 {1:标题, 2:标题+文本, 5:仅标题, 12:空白},默认 2。返回当前总页数。

  • 参数: layout: int、doc_id: str
  • 返回: int
  • 标志: 会改动文档/应用状态

set_title

设置第 slide_idx 张幻灯片的标题;无标题占位符自动建框,返回 shape ID。

  • 参数: slide_idx: int、text: str、doc_id: str
  • 返回: int
  • 标志: 会改动文档/应用状态

set_body

设置第 slide_idx 张幻灯片的正文;无正文占位符自动建框,返回 shape ID。

  • 参数: slide_idx: int、lines: any、doc_id: str
  • 返回: int
  • 标志: 会改动文档/应用状态

set_notes

写入第 slide_idx 张幻灯片的演讲者备注,返回 shape ID。

  • 参数: slide_idx: int、text: str、doc_id: str
  • 返回: int
  • 标志: 会改动文档/应用状态

add_textbox

在 slide_idx 页添加自由文本框(坐标单位为磅)。

  • 参数: slide_idx: int、left: float、top: float、width: float、height: float、text: str、doc_id: str
  • 返回: void
  • 标志: 会改动文档/应用状态

add_picture

在 slide_idx 页插入图片(坐标单位为磅)。

  • 参数: slide_idx: int、path: str、left: float、top: float、width: float、height: float、doc_id: str
  • 返回: void
  • 标志: 会改动文档/应用状态

set_shape_geometry

修改第 slide_idx 页 shape_id 的几何:left/top/width/height/rotation(坐标单位磅、角度单位度),只更新传入属性,至少传一个。group 子元素 left/top 写幻灯片绝对坐标;旋转 group 内后代不支持改 left/top。width/height 必须 >0。

  • 参数: slide_idx: int、shape_id: int、left: float、top: float、width: float、height: float、rotation: float、doc_id: str
  • 返回: void
  • 标志: 会改动文档/应用状态

set_shape_text

整体替换第 slide_idx 页 shape_id 的文本(保留原字体样式)。无文本能力的 shape(图片/线条等)报错。

  • 参数: slide_idx: int、shape_id: int、text: str、doc_id: str
  • 返回: void
  • 标志: 会改动文档/应用状态

set_shape_font

设置第 slide_idx 页 shape_id 文本的字体:font_name/size/bold/italic/color('#RRGGBB')。至少传一个属性;整段文本统一生效。

  • 参数: slide_idx: int、shape_id: int、font_name: str、size: float、bold: bool、italic: bool、color: str、doc_id: str
  • 返回: void
  • 标志: 会改动文档/应用状态

set_shape_fill

设置第 slide_idx 页 shape_id 的填充:color 传 '#RRGGBB' 实色填充,transparency 传 0..1 透明度;都不传则清除填充。无填充能力报错。

  • 参数: slide_idx: int、shape_id: int、color: str、transparency: float、doc_id: str
  • 返回: void
  • 标志: 会改动文档/应用状态

set_shape_outline

设置第 slide_idx 页 shape_id 的轮廓:color '#RRGGBB'/width 磅/visible 布尔,至少传一个;visible 控制最终显示态。无轮廓能力报错。

  • 参数: slide_idx: int、shape_id: int、color: str、width: float、visible: bool、doc_id: str
  • 返回: void
  • 标志: 会改动文档/应用状态

set_shape_visible

显示(true)或隐藏(false)第 slide_idx 页 shape_id。

  • 参数: slide_idx: int、shape_id: int、visible: bool、doc_id: str
  • 返回: void
  • 标志: 会改动文档/应用状态

delete_shape

删除第 slide_idx 页 shape_id(顶层或 group 子元素,递归定位)。

  • 参数: slide_idx: int、shape_id: int、doc_id: str
  • 返回: void
  • 标志: 会改动文档/应用状态

set_shape_z_order

把第 slide_idx 页 shape_id 在所在集合内移到 1-based 目标位 z(1=最底)。顶层在 slide.Shapes 内移动,group 子元素在父 GroupItems 内;z 超出 1..Count 报错,不做截断。

  • 参数: slide_idx: int、shape_id: int、z: int、doc_id: str
  • 返回: void
  • 标志: 会改动文档/应用状态

read_slide_texts

读取第 slide_idx 页全部具有文本能力的 shape(含 group 内文本),返回 SlideTextRecord(shape_id/name/text/坐标/占位符/group 路径)。include_empty=True 连空文本 shape 也返回;recursive=False 不递归 group。

  • 参数: slide_idx: int、include_empty: bool、recursive: bool、doc_id: str
  • 返回: list[SlideTextRecord]
  • 标志: 只读

read_slide_summary

逐页读取演示文稿(doc_id 缺省为活动)的标题/正文/备注摘要(只读),返回 [{index, title, body, notes}]。

  • 参数: doc_id: str
  • 返回: list
  • 标志: 只读

read_shapes

读取第 slide_idx 页全部 shape 的结构化记录,返回 ShapeInfo(shape_id/name/类型/几何/填充/轮廓/文本/字体/占位符/group 路径/z-order)。recursive=False 只列顶层;group 后代(含嵌套)仅在 recursive=True 时展开。shape_id 严格:任何 shape 的 Id 读不到即抛错,绝不出 0。

  • 参数: slide_idx: int、recursive: bool、doc_id: str
  • 返回: list[ShapeInfo]
  • 标志: 只读

activate

把指定 doc_id 设为活动目标,后续缺省 doc_id 的操作作用在它上面。

  • 参数: doc_id: str
  • 返回: void
  • 标志: 普通操作

list_docs

列出当前打开的文档表:{doc_id: {name, path, active}}(只报已登记句柄)。

  • 参数: 无参数
  • 返回: dict
  • 标志: 只读

get_target

当前活动演示文稿身份(app/doc_id/name/path);无则返回 null。可传 doc_id 查询指定演示文稿。

  • 参数: doc_id: str
  • 返回: dict
  • 标志: 只读

quit

退出 PowerPoint 会话(关闭应用窗口)。连接的是既有 Office 实例时默认拒绝(不夺走用户正用的窗口),force=True 强制退出。

  • 参数: force: bool
  • 返回: void
  • 标志: 会改动文档/应用状态