微演示 ppt/pdf/doc 转html5 用法 (2)-- 前端脚本接口

概述

通常我们将ppt/pdf转换为html5是为了嵌入到在线课堂,或者其他应用中使用。为了方便使用时对原始ppt的数据进行操作控制,微演示转换结果提供了一些前端接口供二次开发使用。后续文章我们也将讨论如何在ppt中嵌入一些第三方的内容以实现某些更强大的功能。

全局变量

ppt解析结果的全局变量参数见下表。

变量名类型说明
_note数组源PPT文件备注页的内容。数组的长度与ppt页面数相等。
_control数组PPT文件中每个页面的动画数据。每一个元素是一个页面动画结构体。具体结构见下文。数组长度与ppt页面数相等。
slidetext数组PPT文件中每个页面的文本数据。可用于文本检索。实际上在生成的结果中
cs当前活动页面对象
_playmode标识播放模式。按位设定值含义如下:
  • 0: 普通模式
  • 0x01: 直播主持模式
  • 0x02: 直播听众受控模式
  • 0x10: 录播受控模式
  • 0x20: 回听受控模式
  • 0x40: 自动播放模式

_replayFromEnd标识指定ppt播放到最后一页以后,是否从头开始播放
wtnoeff标识指定是否播放动画。通常动画播放需要耗时。设置了标识变量后,动画将即刻完成。当您需要从头开始快速播放动画到指定位置时,可以通过设定这个标识,然后循环调用动画执行指令来进入指定状态。
wtSkipMouse标识变量。阻止用户操作触发动画动作。当开发者需要在屏幕上覆盖菜单时,需要在菜单事件响应之后立刻设置此标识,以免触发执行动画的操作。
enable_link标识变量。指定是否允许跳转到外部链接。(对于)
user_control用户操作响应标识。其值大于0时,系统将不响应用户点击操作事件,由开发者自行处理;值为0时(默认值),用户点击播放下一个动画;值小于0时,屏幕将被分为四个区域,点击左上部回退到上一页,左下部回退一个动画,点击右上部直接前进到下一页,点击右下部前进一个动画。

页面动画结构体

全局变量_control的元素结构,记录了单个页面的页面切换动画和内部动画序列的所有参数。属性值为默认值或0的,在解析结果中不出现

变量名

变量名类型说明
advt标志位本页是否按时间自动切页
advc标志位本页是否允许鼠标切页
trans对象页面切换动画参数
animations数组本页的动画序列参数。
animations[].eff标志位动画效果代码
animations[].s标志位动画对应元素,可对应到dom树上元素
animations[].duration标志位动画时长
animations[].type标志位动画触发类型。ppt有三种触发类型:鼠标触发,与前一动画同时,在前一动画之后。
animations[].trigger标志位触发器动画对应的触发器shape id。

以及其他各异的动画参数。

事件

播放代码在进入到特定时机或者时机结束时,会向外发送事件方便用户对应的操作数据

事件名称发送时机
domReadyEvent页面dom加载完毕事件。此时播放代码还未开始动作。用户可在此时点对变量进行设定,对某些初始化数据进行更改,执行自定义的初始化操作等。
beginshowEvent系统基本布局完毕,可以开始响应用户操作的标识事件。不过注意,此时并非所有的内容都已经就位。特别如果用户网速慢的时候,页面需要的字体和图片等资源可能尚未加载完毕。资源完全加载事是onloadEvent。
onloadEvent接收到系统onload事件,重新计算字体图片尺寸等布局完成后发送该事件
setzoomEvent系统通过控制id为main的div的scale来实现内容尺寸的全屏化。当窗口大小发生变化时发送setzoomEvent事件
resetPageEvent重置页面函数被调用,页面数据全部恢复初始化之后发送该事件。
replayEvent重设播放器并准备重新开始播放前发送该事件
playOverEvent播放器已完成最后一页的最后一个动画,此时接到下一步指令时发送该事件。
gopageEvent进入新页面时发送该事件
hpclick扩展事件。在ppt中插入的文件被读者点击时发送该事件。开发者可处理对应的扩展文件。

数据操作函数

播放操作的接口说明

函数名描述参数说明
syncPageAnimsyncPageAnim(slide, anim, trigger, isBack, tm)

动作记录函数。播放器每次状态发生改变时都会调用此函数。以便应用对操作进行记录。当您需要使用转换结果实现同步等效果时,应当在二次开发js中重写此函数
  • slide: 动画页码
  • anim: 动画序列号
  • trigger: 触发器id,如果是主序列动画,该参数为-1
  • isBack: 是否回退操作。回退操作的话应当忽视以上其他参数
  • tm: 操作发生时的时点(开始播放时点为0)
syncExecsyncExec (slide, anim, trigger, isBack)
执行指定动画。
  • slide: 动画页码
  • anim: 动画序列号
  • trigger: 触发器id,如果是主序列动画,该参数为-1
  • isBack: 是否回退操作。回退操作的话应当忽视以上其他参数
ExecNextExecNext ()
在当前状态下,执行下一个动画。
无参。
ExecGoBackExecGoBack ()
在当前状态下,执行回退动作。
无参。
resetPlayerresetPlayer()
重置播放器。从头开始播放。
无参。
resetPageresetPage(page)
重置指定页面。
page: 对应页码。
StopAllAnimationStopAllAnimation()
中止当前运行的所有动画,以及这些动画之后紧跟着的after动画。
无参。
setAutoPlaysetAutoPlay()
设置当前动画播放模式为自动播放模式。也就是在一个动画播放完毕之后自动开始下一个动画,而无需读者操作。
无参。
GetCurPgGetCurPg()
返回当前页码
无参
GetTimeLineInfoGetTimeLineInfo(trigger)
返回当前页指定动画序列的参数。
trigger: 触发器id
返回值为对象结构 {len:动画序列长度, pos: 当前播放到的位置}

最新API版本,请浏览 微演示在线开发文档 js部分
。有问题联系微信:wx_weiyanshi 或 QQ: 2543775048

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值