基于HTML5的PPT智能模板设计
2014-09-24刘沧生管希东李淑芝兰红
刘沧生 管希东 李淑芝 兰红
摘 要:针对传统PPT在制作和播放中依赖于Office软件、不能很好的解决跨操作系统和终端设备、需要专门配置翻页激光笔无线遥控播放等问题,提出了一个基于HTML5新特性和WIFI无线通信技术相结合的手机无线遥控PPT智能模板的解决方案。通过实现HTML5中的JS接口和CSS样式设计,构建了基于浏览器模式的PPT通用智能模板;利用模板设计的PPT存放于云端,PPT播放采用Socket无线通信技术,通过WIFI访问云端,基于C/S模式设置服务器和客户端的通讯地址,其中手机扮演客户端发送控制指令,存储PPT或PPT智能模板的电脑终端作为服务器端执行指令,实现手机无线遥控幻灯片的播放。
关键词:HTML5;PPT智能模板;socket;android手机;智能遥控
中图分类号:TP311.52 文献标识码:A
Abstract:In the traditional PPT in the making and solving for office software,not very good dependence playing cross operating system and terminal device,need special configuration laser pointer with wireless remote control playback problems.This paper presents a solution to the new features of HTML5 and WIFI wireless communication technology based on the combination of mobile phone radio remote control PPT intelligent template.By implementing the JS interface and the CSS style design in HTML5,constructs the PPT general intelligent template based on browser mode.By using the template design of PPT stored in the cloud,PPT player based on Socket wireless communication technology,to access the cloud through WIFI,set the C/S mode server and client communication address based on the mobile phone,which play the client sends control command,computer terminal storage PPT or PPT intelligent template as server-side execution of instructions for playing mobile phone,wireless remote control slides.
Keywords:HTML5;PPT intelligent templates;socket;android phones;smart remot
1 引言(Introduction)
目前广泛使用的PPT模板都是利用微软公司的Office中包含的PowerPoint软件制作的,但当前这种教学PPT的使用还存在以下问题:(1)老师只能在讲台前面手动或者专门配置投影仪无线遥控翻页激光笔来实现翻页,或影响教学效果,或增加学校开支。(2)老师需要携带存储了制作好PPT的笔记本电脑,没有很好的解决跨终端设备播放的问题。(3)可能由于PPT播放环境与制作环境不同从而无法很好的展现想要的播放效果[1]。
造成以上问题的原因主要有以下两点:(1)没有很好的解决“低成本”无线遥控PPT的播放;(2)局限于微软的PPT,从而限制于操作系统和终端设备等。然而Web技术的发展,为幻灯片的制作方式提供了另外的可能,使用HTML5技术能够满足制作PPT模板的要求。HTML5因其跨平台、支持多设备、及时更新等优点,可以很好地解决上述问题;同时由于目前智能手机的普及,也为很好的实现“低成本”无线遥控提供了可能。经研究发现可以设计一个基于HTML5的智能模板和采用智能手机来实现无线遥控的系统。
2 系统总体设计(The overall design of the system)
2.1 总体设计思想
HTML5具有丰富的API,支持2D或3D绘图,能够播放音频和视频,能够产生超强的视觉效果,智能手机的无线上网功能不仅可以应用于通讯和娱乐,还可以应用于生活实践中。因而系统设计的基本思想是将两种新技术相结合,解决传统依赖于微软操作系统的PPT制作和应用问题。系统设计的总体运行架构如图1所示。
图1展示了基于HTML5的PPT智能模板设计的基本思想:首先利用HTML5新特性在电脑端设计PPT的通用智能模板;然后利用PPT智能模板设计制作符合个人需求的幻灯片,完成之后将其上传到云端;当需要使用幻灯片时在电脑端使用浏览器打开;最后将智能手机与电脑进行互联,这样即可使用智能手机控制幻灯片的播放。
2.2 HTML5智能模板设计
2.2.1 幻灯片智能模板结构设计
使用HTML5新特性制作幻灯片模板的设计原则是:尽量使结构清晰、简洁,并尽可能的参照传统幻灯片的结构。HTML5智能模板的结构设计为:
(1)PPT到html的转换:因为使用HTML5制作的PPT智能模板为html格式,意味着一个网页对应于一个完整的幻灯片,则每一页幻灯片的页面对应一个
(2)页面标签设计:每一页幻灯片区块都要确定一个对应的id值,id的命名规律为:#slideX,其中X是指第几个页面。该id值对应于幻灯片页面的标签值,当切换页面时,浏览器的地址栏会发生改变,即幻灯片页面的标签值发生改变。
(3)页面内容设计:幻灯片的每页内容必须和传统的幻灯片中的元素进行对应,常见的固定元素有标题(h1)、次标题(h2)、正文段落、图片等。另外可以考虑设计一些常用的页面内容,如末页、作者页等[2]。
(4)集成动态模板:可以考虑提供统一的设计模板类型,和传统幻灯片中的模板相对应。
2.2.2 上传到云端
设计好智能模板后,可以利用智能模板设计自己的Web版幻灯片,然后将其上传到云端。云端在本文中可以理解为云存储,云存储是在云计算的基础上衍生与发展的概念。云存储是指将数据存放在第三方托管的虚拟服务器上,而不是像通常的B/S模式一样将数据存放在服务器上。
2.3 无线遥控设计
将Web版PPT上传到云端之后就可以借助任何电脑通过该PPT的URI(Uniform Resource Identifier)由浏览器进行访问,当然老师也可以通过手机无线遥控PPT的播放。手机无线遥控采用C/S模式[3],分为手机控制端和受控服务端。其系统业务流程图如图2所示。
系统采用Socket通信[4],双方首先要获取到IP地址。客户端IP的获取可以通过打开手机的WiFi,连接上一个无线网络即可根据动态主机配置协议动态分配到IP地址;服务端则通过连上一个无线网络也可动态分配到IP地址,从而进行通信连接。通信的过程为:首先是服务端获取到自身IP并显示给用户,用户将该IP地址作为服务端信息输入到客户端,建立Socket连接;然后客户端发送控制信息给服务端,最后服务端将接收到的控制信息利用Java中的Robot类执行这个输入事件[5]。
3 主要技术实现(The main technology)
3.1 智能模板实现
智能模板设计包括基本功能实现和特殊元素处理。
3.1.1 基本功能实现
(1)根据设计完成的结构将所要显示的内容加入到网页文件中。
(2)为文档内容加上初始样式,确定初始界面。
(3)页面初始化,通过resize()函数更改当前显示页面的大小,确定每个幻灯片区块元素的id值,为当前页面加上属性——伪类:target,并确定幻灯片的页面总数。
(4)通过更改每个幻灯片区块元素的属性——伪类:target来决定显示哪一张幻灯片。
(5)使用JavaScript实现翻页函数功能。
(6)对相应的鼠标事件和键盘事件进行事件监听[6]。
3.1.2 特殊元素处理
幻灯片页面内部的动画可通过特殊的class进行生成,设置成未显示和显示后两者样式,这样用户可以通过切换动画观察到页内的动画效果。
3.1.3 兼容考虑和扩展设想
系统需要考虑HTML5的CSS Hack技术对浏览器的兼容。能够在当前页面编辑修改幻灯片,无需通过后台代码进行修改,能够将网页在正常网页和幻灯片模式下切换。
3.2 智能手机遥控技术实现
3.2.1 服务器连接配置
服务端信息录入为无线遥控PPT播放系统手机控制端的第一个Activity,在该Activity中设计了提供增加服务器信息的ImageViewButton和退出ImageViewButton。点击增加服务器信息按钮会弹出一个对话框,让用户填入连接名和服务器IP。填写完信息用户点击确认之后,系统检查IP地址是否合法,若正确则保存用户填入的信息。
显示的连接信息包括连接名、录入时间、提供编辑按钮和删除按钮。点击编辑按钮可以读取并修改该连接信息,包括服务端IP地址和连接名。若信息格式正确则在SharedPreferences中更新,否则弹出对话框显示错误信息。点击删除按钮就从SharedPreferences删除,并使用Handler进行更新UI。
最后点击连接信息行就可以进行连接。若没有打开WiFi则弹出对话框通知用户并请求打开WiFi;设置成功点击返回即可回到ConnectionActivity。
3.2.2 无线控制设计
由ConnectionActivity启动了MainActivity后,根据Activity的生命周期,应该在该Activity成为交互Activity即获取焦点之前建立连接,即在OnResume()生命周期方法中采用AsyncTask来异步建立网络连接。在继承AsyncTask重写doInBackground()时建立连接,然后在onPostExecute()方法中进行异步更新UI。因为有可能用户忘了启动服务器,那么连接就会超时,故要捕获超时异常并弹出对话框提示用户可能的错误和处理办法。
在建立连接的方式中,选择采用Socket.connect()方法来建立连接。处理完连接问题之后,就可以发送控制指令了,由于动作比较多,故定义常量类来进行控制指令描述,也方便序列化。考虑到操作的便捷性,系统还提供了通过音量键来实现上下翻页,用户不用看手机屏幕即可方便的实现翻页操作。
3.2.3 鼠标移动设计
对于鼠标的控制主要是利用手机的触摸屏来实现的,对触摸屏有DOWN、MOVE和UP三种事件。可以充分利用MOVE事件来获取手指在手机屏幕的坐标,然后发送到服务端即可。控制电脑鼠标的移动过程有两种方式,一种是进行手机屏幕和电脑屏幕的静态映射,即由手机的位置乘上电脑屏幕相对手机屏幕的倍数就可进行映射,这种方式的缺点在于移动连续性不是很好,在完成一次移动之后重新移动则无法在原来的基础上移动。另一种映射方式是根据手机屏幕的范围和用户移动的习惯,将手机屏幕映射到以当前位置为中心的一个矩形区域,这样可以解决移动连续性的问题。具体实现是在第一种方式的基础上再形成一种坐标映射,即首先使用第一种方式来获知实际的电脑鼠标相对电脑屏幕的位置,然后计算矩形范围进行第二次映射,最后转换为实际的坐标发送到电脑进行执行。endprint
3.2.4 服务端设计
服务端最基本的工作是接收客户端的连接请求和执行发送过来的控制指令。考虑到在服务器一次运行的过程中客户端可能会多次连接服务器,故在接收客户端的连接请求时必须采用多线程来实现。由于一台电脑在同一个时刻肯定只能有一个手机来控制,故采用While()循环来实现,这样只有在Accept()成功一次并执行完该次连接才会接收下一次的连接请求。由于一次Socket通信是采用一次长连接,故需要While(true)的形式来不断的接收客户端发送过来的控制指令然后执行,而不能一次性执行了一个动作就结束了,否则这样反序列化的header信息不一致,会造成失败异常。具体执行这个控制指令时采用Robot类提供的方法来进行,Robot类用于为测试自动化、自运行演示程序和其他需要控制鼠标和键盘的应用程序生成本机系统输入事件。Robot的主要目的是便于Java平台实现自动测试,如要实现播放使用keyPressed(int keyCode)就可以了;对于鼠标移动用MouseMove(intx,inty)这个方法来实现,最后需要将连接进行释放。
由于用户的IP获取能力不同,系统采用Swing方式显示本机的IP地址。为获取IP地址直接得到NetworkInterface对象集合,然后将其进行遍历得到对应的IP地址。本地环回测试IP地址:127.0.0.1也可以得到,得到时进行一次筛选即可,将这个地址过滤掉不显示,否则一次显示多个IP地址,用户不知道该选择哪个进行输入了。
4 实验结果与分析(Experimental results andanalysis)
4.1 实验环境
任何支持HTML5的浏览器均可作为该实验的环境,这里使用的是Chrome浏览器。而对于无线遥控环境,任何带WiFi功能的Android手机都可以,这里使用的是Nexus5。
4.2 实验结果
(1)传统PPT显示效果和Web版幻灯片的对比如图3和图4所示。通过实验结果可知传统方式制作的PPT与基于HTML5制作的Web版幻灯片相比,Web版的幻灯片能够达到与传统幻灯片类似的效果,甚至能达到视觉冲击力更好的显示效果。
方便更新和拓展。
5 结论(Conclusion)
本文提出的基于HTML5的幻灯片智能模板设计和基于Socket的Android手机远程遥控系统是可行的。它具有以下特点:(1)无需PowerPoint软件即可制作幻灯片。(2)幻灯片播放时无需时刻使用鼠标进行控制,能够用智能手机进行播放,展示了无线网和智能手机的强大功能和魅力。(3)该幻灯片智能模板和智能遥控系统能够采用新技术实现传统幻灯片的功能,能够展示HTML5的特殊性能,所制作的幻灯片比传统PPT更加漂亮。(4)不受操作系统的限制,同时支持多终端包括平板、手提电脑、台式电脑等通过网址进行访问,软硬件兼容性更好。
参考文献(References)
[1] 李启锐,等.蓝牙手机多媒体教学控制软件设计与实现[J].茂名学院学报,2010,20(3):43-46.
[2] 张会凌,张成文,林沛.基于HTML5的在线答疑系统的白板设计与实现[J].软件导刊,2012,11(10):106-107.
[3] 姚霁耘.基于蓝牙技术的手机遥控系统开发研究[J].电脑与电信,2011(8):49-51.
[4] 孙晓东,马旭东,戴先中.基于Java-互联网环境的移动机器人远程操作接口[J].计算机应用与软件,2004,21(4):8-9;90.
[5] 蒋丽卿.浅谈手机遥控[J].信息通信,2013(8):176-177.
[6] 刘俊杰,林生佑,陶玲君.手机遥控计算机(MPCP)系统的开发与研究[J].计算机时代,2012(2):13-19.
作者简介:
刘沧生(1991-),男,本科.研究领域:云计算.
管希东(1992-),男,本科.研究领域:大数据存储.
李淑芝(1964-),女,硕士,教授.研究领域:软件工程,信息隐藏.
兰 红(1969-),女,博士,副教授.研究领域:图像处理与模式识别.endprint
3.2.4 服务端设计
服务端最基本的工作是接收客户端的连接请求和执行发送过来的控制指令。考虑到在服务器一次运行的过程中客户端可能会多次连接服务器,故在接收客户端的连接请求时必须采用多线程来实现。由于一台电脑在同一个时刻肯定只能有一个手机来控制,故采用While()循环来实现,这样只有在Accept()成功一次并执行完该次连接才会接收下一次的连接请求。由于一次Socket通信是采用一次长连接,故需要While(true)的形式来不断的接收客户端发送过来的控制指令然后执行,而不能一次性执行了一个动作就结束了,否则这样反序列化的header信息不一致,会造成失败异常。具体执行这个控制指令时采用Robot类提供的方法来进行,Robot类用于为测试自动化、自运行演示程序和其他需要控制鼠标和键盘的应用程序生成本机系统输入事件。Robot的主要目的是便于Java平台实现自动测试,如要实现播放使用keyPressed(int keyCode)就可以了;对于鼠标移动用MouseMove(intx,inty)这个方法来实现,最后需要将连接进行释放。
由于用户的IP获取能力不同,系统采用Swing方式显示本机的IP地址。为获取IP地址直接得到NetworkInterface对象集合,然后将其进行遍历得到对应的IP地址。本地环回测试IP地址:127.0.0.1也可以得到,得到时进行一次筛选即可,将这个地址过滤掉不显示,否则一次显示多个IP地址,用户不知道该选择哪个进行输入了。
4 实验结果与分析(Experimental results andanalysis)
4.1 实验环境
任何支持HTML5的浏览器均可作为该实验的环境,这里使用的是Chrome浏览器。而对于无线遥控环境,任何带WiFi功能的Android手机都可以,这里使用的是Nexus5。
4.2 实验结果
(1)传统PPT显示效果和Web版幻灯片的对比如图3和图4所示。通过实验结果可知传统方式制作的PPT与基于HTML5制作的Web版幻灯片相比,Web版的幻灯片能够达到与传统幻灯片类似的效果,甚至能达到视觉冲击力更好的显示效果。
方便更新和拓展。
5 结论(Conclusion)
本文提出的基于HTML5的幻灯片智能模板设计和基于Socket的Android手机远程遥控系统是可行的。它具有以下特点:(1)无需PowerPoint软件即可制作幻灯片。(2)幻灯片播放时无需时刻使用鼠标进行控制,能够用智能手机进行播放,展示了无线网和智能手机的强大功能和魅力。(3)该幻灯片智能模板和智能遥控系统能够采用新技术实现传统幻灯片的功能,能够展示HTML5的特殊性能,所制作的幻灯片比传统PPT更加漂亮。(4)不受操作系统的限制,同时支持多终端包括平板、手提电脑、台式电脑等通过网址进行访问,软硬件兼容性更好。
参考文献(References)
[1] 李启锐,等.蓝牙手机多媒体教学控制软件设计与实现[J].茂名学院学报,2010,20(3):43-46.
[2] 张会凌,张成文,林沛.基于HTML5的在线答疑系统的白板设计与实现[J].软件导刊,2012,11(10):106-107.
[3] 姚霁耘.基于蓝牙技术的手机遥控系统开发研究[J].电脑与电信,2011(8):49-51.
[4] 孙晓东,马旭东,戴先中.基于Java-互联网环境的移动机器人远程操作接口[J].计算机应用与软件,2004,21(4):8-9;90.
[5] 蒋丽卿.浅谈手机遥控[J].信息通信,2013(8):176-177.
[6] 刘俊杰,林生佑,陶玲君.手机遥控计算机(MPCP)系统的开发与研究[J].计算机时代,2012(2):13-19.
作者简介:
刘沧生(1991-),男,本科.研究领域:云计算.
管希东(1992-),男,本科.研究领域:大数据存储.
李淑芝(1964-),女,硕士,教授.研究领域:软件工程,信息隐藏.
兰 红(1969-),女,博士,副教授.研究领域:图像处理与模式识别.endprint
3.2.4 服务端设计
服务端最基本的工作是接收客户端的连接请求和执行发送过来的控制指令。考虑到在服务器一次运行的过程中客户端可能会多次连接服务器,故在接收客户端的连接请求时必须采用多线程来实现。由于一台电脑在同一个时刻肯定只能有一个手机来控制,故采用While()循环来实现,这样只有在Accept()成功一次并执行完该次连接才会接收下一次的连接请求。由于一次Socket通信是采用一次长连接,故需要While(true)的形式来不断的接收客户端发送过来的控制指令然后执行,而不能一次性执行了一个动作就结束了,否则这样反序列化的header信息不一致,会造成失败异常。具体执行这个控制指令时采用Robot类提供的方法来进行,Robot类用于为测试自动化、自运行演示程序和其他需要控制鼠标和键盘的应用程序生成本机系统输入事件。Robot的主要目的是便于Java平台实现自动测试,如要实现播放使用keyPressed(int keyCode)就可以了;对于鼠标移动用MouseMove(intx,inty)这个方法来实现,最后需要将连接进行释放。
由于用户的IP获取能力不同,系统采用Swing方式显示本机的IP地址。为获取IP地址直接得到NetworkInterface对象集合,然后将其进行遍历得到对应的IP地址。本地环回测试IP地址:127.0.0.1也可以得到,得到时进行一次筛选即可,将这个地址过滤掉不显示,否则一次显示多个IP地址,用户不知道该选择哪个进行输入了。
4 实验结果与分析(Experimental results andanalysis)
4.1 实验环境
任何支持HTML5的浏览器均可作为该实验的环境,这里使用的是Chrome浏览器。而对于无线遥控环境,任何带WiFi功能的Android手机都可以,这里使用的是Nexus5。
4.2 实验结果
(1)传统PPT显示效果和Web版幻灯片的对比如图3和图4所示。通过实验结果可知传统方式制作的PPT与基于HTML5制作的Web版幻灯片相比,Web版的幻灯片能够达到与传统幻灯片类似的效果,甚至能达到视觉冲击力更好的显示效果。
方便更新和拓展。
5 结论(Conclusion)
本文提出的基于HTML5的幻灯片智能模板设计和基于Socket的Android手机远程遥控系统是可行的。它具有以下特点:(1)无需PowerPoint软件即可制作幻灯片。(2)幻灯片播放时无需时刻使用鼠标进行控制,能够用智能手机进行播放,展示了无线网和智能手机的强大功能和魅力。(3)该幻灯片智能模板和智能遥控系统能够采用新技术实现传统幻灯片的功能,能够展示HTML5的特殊性能,所制作的幻灯片比传统PPT更加漂亮。(4)不受操作系统的限制,同时支持多终端包括平板、手提电脑、台式电脑等通过网址进行访问,软硬件兼容性更好。
参考文献(References)
[1] 李启锐,等.蓝牙手机多媒体教学控制软件设计与实现[J].茂名学院学报,2010,20(3):43-46.
[2] 张会凌,张成文,林沛.基于HTML5的在线答疑系统的白板设计与实现[J].软件导刊,2012,11(10):106-107.
[3] 姚霁耘.基于蓝牙技术的手机遥控系统开发研究[J].电脑与电信,2011(8):49-51.
[4] 孙晓东,马旭东,戴先中.基于Java-互联网环境的移动机器人远程操作接口[J].计算机应用与软件,2004,21(4):8-9;90.
[5] 蒋丽卿.浅谈手机遥控[J].信息通信,2013(8):176-177.
[6] 刘俊杰,林生佑,陶玲君.手机遥控计算机(MPCP)系统的开发与研究[J].计算机时代,2012(2):13-19.
作者简介:
刘沧生(1991-),男,本科.研究领域:云计算.
管希东(1992-),男,本科.研究领域:大数据存储.
李淑芝(1964-),女,硕士,教授.研究领域:软件工程,信息隐藏.
兰 红(1969-),女,博士,副教授.研究领域:图像处理与模式识别.endprint