概述
通常我们将ppt/pdf转换为html5是为了嵌入到在线课堂,或者其他应用中使用。为了方便使用时对原始ppt的数据进行操作控制,微演示转换结果提供了一些前端接口供二次开发使用。后续文章我们也将讨论如何在ppt中嵌入一些第三方的内容以实现某些更强大的功能。
全局变量
ppt解析结果的全局变量参数见下表。
| 变量名 | 类型 | 说明 |
|---|---|---|
| _note | 数组 | 源PPT文件备注页的内容。数组的长度与ppt页面数相等。 |
| _control | 数组 | PPT文件中每个页面的动画数据。每一个元素是一个页面动画结构体。具体结构见下文。数组长度与ppt页面数相等。 |
| slidetext | 数组 | PPT文件中每个页面的文本数据。可用于文本检索。实际上在生成的结果中 |
| cs | 当前活动页面对象 | |
| _playmode | 标识 | 播放模式。按位设定值含义如下:
|
| _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中插入的文件被读者点击时发送该事件。开发者可处理对应的扩展文件。 |
数据操作函数
播放操作的接口说明
| 函数名 | 描述 | 参数说明 |
|---|---|---|
| syncPageAnim | syncPageAnim(slide, anim, trigger, isBack, tm) 动作记录函数。播放器每次状态发生改变时都会调用此函数。以便应用对操作进行记录。当您需要使用转换结果实现同步等效果时,应当在二次开发js中重写此函数 |
|
| syncExec | syncExec (slide, anim, trigger, isBack) 执行指定动画。 |
|
| ExecNext | ExecNext () 在当前状态下,执行下一个动画。 | 无参。 |
| ExecGoBack | ExecGoBack () 在当前状态下,执行回退动作。 | 无参。 |
| resetPlayer | resetPlayer() 重置播放器。从头开始播放。 | 无参。 |
| resetPage | resetPage(page) 重置指定页面。 | page: 对应页码。 |
| StopAllAnimation | StopAllAnimation() 中止当前运行的所有动画,以及这些动画之后紧跟着的after动画。 | 无参。 |
| setAutoPlay | setAutoPlay() 设置当前动画播放模式为自动播放模式。也就是在一个动画播放完毕之后自动开始下一个动画,而无需读者操作。 | 无参。 |
| GetCurPg | GetCurPg() 返回当前页码 | 无参 |
| GetTimeLineInfo | GetTimeLineInfo(trigger) 返回当前页指定动画序列的参数。 | trigger: 触发器id 返回值为对象结构 {len:动画序列长度, pos: 当前播放到的位置} |
最新API版本,请浏览 微演示在线开发文档 js部分
。有问题联系微信:wx_weiyanshi 或 QQ: 2543775048
-- 前端脚本接口&spm=1001.2101.3001.5002&articleId=127423572&d=1&t=3&u=deeca1e1d809445097e3ac6ca3ab2893)
859

被折叠的 条评论
为什么被折叠?



