Skip to content

演示文稿(ActivePresentation)

演示文稿对象

属性列表

属性说明
返回一个值,表示文档是否只读,此属性为只读属性。
返回一个值,表示文档是否只读可评论的权限,此属性为只读属性。
返回一个值,表示文档是否支持只读可评论权限,此属性为只读属性。

方法列表

方法说明
根据 UploadId 替换当前页的关系图组
退出演示视频全屏播放
导出文件为 PDF 或者图片
获取 PPT 源文件链接
获取当前选中图片的原图或原图链接
获取关系图组的容器 DOM(需先选中关系图组)
获取选中的关系图组信息
获取当前关系图组所形成的单页 PPT 的下载地址
获取登录操作者信息
获取当前幻灯片信息
所有页的注脚信息
获取指定页/当前页的注脚信息
根据 Url 插入关系图
执行触发器动画
替换当前幻灯片
保存文件的改动
开启画笔或者保存画笔并退出

ReadOnly

返回一个值,表示文档是否只读,此属性为只读属性。

语法

表达式.ActivePresentation.ReadOnly

表达式:文档类型应用对象

示例

js
//@file=base.pptx
async function example() {
  await instance.ready()

  const app = instance.Application

  const ReadOnly = await app.ActivePresentation.ReadOnly
}

ReadOnlyComment

返回一个值,表示文档是否只读可评论的权限,此属性为只读属性。

语法

表达式.ActivePresentation.ReadOnlyComment

表达式:文档类型应用对象

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  const ReadOnlyComment = await app.ActivePresentation.ReadOnlyComment
}

SupportReadOnlyComment

返回一个值,表示文档是否支持只读可评论权限,此属性为只读属性。

语法

表达式.ActivePresentation.SupportReadOnlyComment

表达式:文档类型应用对象

示例

js
//@file=base.docx
async function example() {
  await instance.ready()

  const app = instance.Application

  const SupportReadOnlyComment = await app.ActivePresentation
    .SupportReadOnlyComment
}

BeautifyDiagram()

根据 UploadId 替换当前页的关系图组

操作方法:

  1. 点击选中关系图
  2. 点击按钮组中的【样式】
  3. 点击其中一个样式(业务逻辑在这一步会返回 UploadId)
  4. 通过 ActivePresentation.BeautifyDiagram 进行美化

语法

表达式.ActivePresentation.BeautifyDiagram({ UploadId })

表达式:文档类型应用对象

参数

属性数据类型默认值必填说明
UploadId
String
true
美化后的 PPT 的 id

示例

js
async function example() {
  await instance.ready()

  const app = instance.Application

  // 根据 UploadId 替换当前页的关系图组
  await app.ActivePresentation.BeautifyDiagram('xxx') // xxx 为实际 id,并不能固定
}

ExitVideoFullscreen()

退出演示视频全屏播放

语法

表达式.ActivePresentation.ExitVideoFullscreen()

表达式:文档类型应用对象

示例

js
//@file=base.pptx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 退出演示视频全屏播放
  const operatorsInfo = await app.ActivePresentation.ExitVideoFullscreen()
  console.log(operatorsInfo)
}

ExportAsFixedFormat()

导出文件为 PDF 或者图片

语法

表达式.ActivePresentation.ExportAsFixedFormat({ RangeType, FrameSlides, FixedFormatType, ImgFormat, Dpi, Combine2LongPic, From, To, WaterMark })

表达式:文档类型应用对象

参数

属性数据类型默认值必填说明
RangeType
Enum
可选
幻灯片范围的类型,详细可参考 Enum.PpPrintRangeType
FrameSlides
Enum
可选
要导出的幻灯片是否应当带有边框,详细可参考 Enum.MsoTriState
FixedFormatType
Enum
2
可选
导出的类型,详细可参考 Enum.PpFixedFormatType,目前仅支持导出图片和导出 PDF
ImgFormat
Enum
0
可选
【仅导出图片格式生效】导出图片的格式,详细可参考 Enum.PpExportImgFormatType
Dpi
Number
96
可选
【仅导出图片格式生效】导出的图片质量
Combine2LongPic
Boolean
false
可选
【仅导出图片格式生效】是否输出为长图
From
Number
0
可选
【仅导出图片格式生效】从哪一页导出到哪一页,起始
To
Number
0
可选
【仅导出图片格式生效】 从哪一页导出到哪一页,结束
WaterMark
Boolean
false
可选
带水印还是无水印

返回值

返回打印的 url

属性数据类型说明
url
string
打印的 url

示例 1:导出 PDF

js
//@file=base.pptx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 导出文件为 PDF
  const pdfUrl = await app.ActivePresentation.ExportAsFixedFormat()
  console.log(pdfUrl)
}

示例 2:导出图片

js
//@file=base.pptx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 导出文件为图片
  const imgUrl = await app.ActivePresentation.ExportAsFixedFormat({
    FixedFormatType: app.Enum.PpFixedFormatType.ppFixedFormatTypeIMG,
    From: 0,
    To: 1
  })
  console.log(imgUrl)
}

FetchDownloadUrl()

获取 PPT 源文件链接

语法

表达式.ActivePresentation.FetchDownloadUrl()

表达式:文档类型应用对象

返回值

返回 string 代表 PPT 源文件链接

示例

js
async function example() {
  await instance.ready()

  const app = instance.Application

  // 获取PPT源文件链接
  const url = await app.ActivePresentation.FetchDownloadUrl()
}

GetActiveShapeImg()

获取当前选中图片的原图或原图链接

操作方法:

  1. 点击选中图片元素
  2. 通过 ActivePresentation.GetActiveShapeImg 获取图片链接

语法

表达式.ActivePresentation.GetActiveShapeImg({ IsOrigin })

表达式:文档类型应用对象

参数

属性数据类型默认值必填说明
IsOrigin
boolean
false
false
是否获取原图的链接

示例

js
async function example() {
  await instance.ready()

  const app = instance.Application

  // 获取当前选中图片的原图或原图链接
  await app.ActivePresentation.GetActiveShapeImg(true)
}

GetDiagramContainer()

获取关系图组的容器 DOM(需先选中关系图组)

操作方法:

  1. 点击选中关系图组
  2. 执行 API:ActivePresentation.GetDiagramContainer()
  3. 获取到 DOM 信息

语法

表达式.ActivePresentation.GetDiagramContainer()

表达式:文档类型应用对象

返回值

null 或者选中的 DOM 节点对应的 id(String 形式)

示例

js
//@file=base.pptx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 获取关系图组的容器 DOM(需先选中关系图组)
  const d = await app.ActivePresentation.GetDiagramContainer()
  console.log('获取到的内容:', d)
}

GetDiagramInfo()

获取选中的关系图组信息

操作方法:

  1. 点击选中关系图
  2. 执行 API:ActivePresentation.GetDiagramInfo()
  3. 获取到选中关系图组的信息

语法

表达式.ActivePresentation.GetDiagramInfo()

表达式:文档类型应用对象

返回值

null 或者选中的 DOM 节点

示例

js
//@file=base.pptx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 获取选中的关系图组信息
  const info = await app.ActivePresentation.GetDiagramInfo()
  console.log('获取到的内容:', info)
}

GetDiagramPPTInfo()

获取当前关系图组所形成的单页 PPT 的下载地址

语法

表达式.ActivePresentation.GetDiagramPPTInfo({ Type })

表达式:文档类型应用对象

参数

属性数据类型默认值必填说明
Type
Number
1
1 表示仅是获取预览信息;2 表示获取信息用来美化

返回值

属性数据类型说明
id
String
文件 id
connid
String
连接 id

示例

js
//@file=base.ppt
async function example() {
  await instance.ready()

  const app = instance.Application

  // 获取当前关系图组所形成的单页 PPT 的下载地址
  await app.ActivePresentation.GetDiagramPPTInfo({ Type: 2 })
}

GetOperatorsInfo()

获取登录操作者信息

语法

表达式.ActivePresentation.GetOperatorsInfo()

表达式:文档类型应用对象

返回值

Object object

属性数据类型说明
type
String
请求类型
response
Object
用户信息列表

response 结构

属性数据类型说明
id
String
用户 id
avatar_url
Object
用户头像
logined
Object
用户登录状态
name
Object
用户姓名

示例

js
//@file=base.pptx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 获取登录操作者信息
  const operatorsInfo = await app.ActivePresentation.GetOperatorsInfo()
  console.log(operatorsInfo)
}

GetPPTInfo()

获取当前幻灯片信息

语法

表达式.ActivePresentation.GetPPTInfo()

表达式:文档类型应用对象

返回值

属性数据类型说明
id
String
幻灯片 id
connid
String
连接 id
file_type
String
幻灯片类型
model_type
String
类型
slide_ids
Array
幻灯片 ids

将获取的信息作为接口 https://docer-api.kdocs.cn/plugin/beautify/task/kdocsupload 的参数,完成上传 PPT 的操作,参考下面截图:

示例

js
//@file=base.ppt
async function example() {
  await instance.ready()

  const app = instance.Application

  await app.ActivePresentation.GetPPTInfo()
}

GetRemarkList()

所有页的注脚信息

语法

表达式.ActivePresentation.GetRemarkList()

表达式:文档类型应用对象

返回值

属性数据类型说明
remarkList
Array
注脚信息列表

示例

js
//@file=base.pptx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 获取所有页的注脚信息
  const operatorsInfo = await app.ActivePresentation.GetRemarkList()
  console.log(operatorsInfo)
}

GetSlideRemark()

获取指定页/当前页的注脚信息

语法

表达式.ActivePresentation.GetSlideRemark()

表达式:文档类型应用对象

参数

传入一个数字,表明指定页的序列号。

属性数据类型默认值必填说明
SlideIndex
Number
当前激活页的序列号
指定页的序列号

返回值

属性数据类型说明
remarkList
Array
注脚信息列表

示例

js
//@file=base.pptx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 获取指定页/当前页的注脚信息
  const operatorsInfo = await app.ActivePresentation.GetSlideRemark()
  console.log(operatorsInfo)
}

InsertDiagram()

根据 Url 插入关系图

语法

表达式.ActivePresentation.InsertDiagram({ Url })

表达式:文档类型应用对象

参数

属性数据类型默认值必填说明
Url
String
-
true
关系图地址

示例

js
async function example() {
  await instance.ready()

  const app = instance.Application

  // 根据 Url 插入关系图
  await app.ActivePresentation.InsertDiagram('xxx') // xxx 为关系图的url
}

PlayTriggerAnim()

执行触发器动画

语法

表达式.ActivePresentation.PlayTriggerAnim()

表达式:文档类型应用对象

参数

属性数据类型默认值必填说明
TargetShapeId
number
-
触发器 ID
SlideCategory
string
-
触发器类型
Steps
number
-
指定步数

示例

js
//@file=base.pptx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 执行触发器动画
  await app.ActivePresentation.PlayTriggerAnim(TargetShapeId, SlideCategory)
}

ReplaceActiveSlide()

替换当前幻灯片

语法

表达式.ActivePresentation.ReplaceActiveSlide({ UploadId, FileKey })

表达式:文档类型应用对象

参数

属性数据类型默认值必填说明
UploadId
String
-
文件上传后服务端返回数据
FileKey
String
-
用于内核解密加密文档

返回值

成功:{ type: 'success' }

失败:{ type: 'error' }

示例

js
//@file=base.ppt
async function example() {
  await instance.ready()

  const app = instance.Application

  await app.ActivePresentation.ReplaceActiveSlide({
    UploadId: 'xxx',
    FileKey: 'xxx'
  })
}

Save()

保存文件的改动

语法

表达式.ActivePresentation.Save()

表达式:文档类型应用对象

返回值

属性数据类型说明
result
String
保存状态
size
Number
文件大小,单位 byte
version
Number
版本

保存状态说明

保存状态说明
ok
版本保存成功,可在历史版本中查看
nochange
文档无更新,无需保存版本
SavedEmptyFile
暂不支持保存空文件 触发场景:内核保存完后文件为空
SpaceFull
空间已满
QueneFull
保存中请勿频繁操作 触发场景:服务端处理保存队列已满,正在排队
fail
保存失败

示例

js
//@file=base.pptx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 保存文件的改动
  const saveResult = await app.ActivePresentation.Save()
  console.log(saveResult)
}

SetOpenMarkerInkEdit()

开启画笔或者保存画笔并退出

语法

表达式.ActivePresentation.SetOpenMarkerInkEdit({ Open })

表达式:文档类型应用对象

参数

属性数据类型默认值必填说明
Open
Boolean
true
是否需要开启画笔(true),还是保存并关闭画笔(false)

示例

js
//@file=base.ppt
async function example() {
  await instance.ready()

  const app = instance.Application

  // 开启画笔
  await app.ActivePresentation.SetOpenMarkerInkEdit(true)

  setTimeout(async () => {
    // 保存画笔并关闭
    await app.ActivePresentation.SetOpenMarkerInkEdit(false)
  }, 5000)
}