关于论坛实现pdf,word等文档在线预览的功能探讨
論壇引擎:Discuz! 2.5
工具:flexpaper1.5.6 二次開發版本
本文主要探討大體的思路及相關技術難點問題,屬個人工作之余的一些小小開發,僅供探討,嘿嘿、、、
實現效果如圖:
論壇為什么需要在線預覽功能,呵呵、、、本公司的論壇就需要這樣的功能,還用得著下載再看嗎?直接看完不就得了,呵呵、、、
關于flexpapaer的二次開發請參照前文:flexpaper的二次開發總結及探討
這里主要修改不同點是Diyflexpaper.mxml
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"xmlns:fp="com.devaldi.controls.flexpaper.*"layout="absolute" width="100%" height="100%" applicationComplete="initApp();"><mx:Script><![CDATA[ [Bindable]public var _Scale:Number = 1;//縮放比例[Bindable]public var _EncodeURI:Boolean = true;[Bindable]public var _SwfFile:String = "";//SWF文件路徑[Bindable]public var _ZoomTransition:String = "easeOut";[Bindable]public var _ZoomTime:Number = 0.6;[Bindable]public var _ZoomInterval:Number = 0.1;[Bindable]public var _MinZoomSize:Number = 0.3;[Bindable]public var _MaxZoomSize:Number = 5;[Bindable]public var _FitPageOnLoad:Boolean = false;//加載后適合高度[Bindable]public var _FitWidthOnLoad:Boolean = true;//加載后適合寬度[Bindable]public var _PrintEnabled:Boolean = false;//是否支持打印[Bindable]public var _FullScreenAsMaxWindow:Boolean = false;//是否支付全屏[Bindable]public var _ProgressiveLoading:Boolean = false;//是否延遲加載[Bindable]public var _localeChain:String = "zh_CN";//語言private var isFocus:Boolean = false;//初始化參數private function initApp():void{ _Scale = 1;_SwfFile = this.loaderInfo.parameters.url;_EncodeURI = true;_ZoomTransition = "easeOut";_ZoomTime = 0.6;_MinZoomSize = 0.2;_MaxZoomSize = 5;_ZoomInterval = 0.1;_FitPageOnLoad =false;_FitWidthOnLoad = true;_PrintEnabled = false;_FullScreenAsMaxWindow = false;_ProgressiveLoading = true;_localeChain ="zh_CN";//語言//注冊事件監聽this.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver);this.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut);}//---------------------------事件------------------------------private function onMouseOver(event:MouseEvent):void{this.isFocus = true;}private function onMouseOut(event:MouseEvent):void{this.isFocus = false;}]]></mx:Script><fp:FlexPaperViewer id="FlexPaper"width="100%" height="100%" Scale="{_Scale}" SwfFile="{_SwfFile}" ZoomTransition="{_ZoomTransition}" ZoomTime="{_ZoomTime}" MinZoomSize="{_MinZoomSize}"MaxZoomSize="{_MaxZoomSize}"ZoomInterval="{_ZoomInterval}"FitPageOnLoad="{_FitPageOnLoad}"FitWidthOnLoad="{_FitWidthOnLoad}"EncodeURI="{_EncodeURI}"FullScreenAsMaxWindow="{_FullScreenAsMaxWindow}"ProgressiveLoading="{_ProgressiveLoading}" /> </mx:Application>
其中 this.loaderInfo.parameters.url? 是獲取加載該flash的地址參數,并非當前url地址的參數,這樣修改主要目的是論壇加載flexpaper時好傳遞參數。
好了,flexpaper準備完畢,下面就開始為論壇添加插件吧。
以管理員身份登陸discuz論壇管理中心,選擇
discuz代碼,具體操作很簡單,不再闡述,添加一個自定義代碼后進入詳情:主要設置如下:
替換內容:
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="[url=http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0][color=#0000ff]http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0[/color][/url]" width="{1}" height="{2}" type="application/x-shockwave-flash"><param value="true" name="allowfullscreen"><param name="allowScriptAccess" value="always"><param name="movie" value="http://192.168.0.200/flexpaper/Diyflexpaper.swf?url={3}"><param name="quality" value="high"><param name="bgcolor" value="#ffffff"><embed src="http://192.168.0.200/flexpaper/Diyflexpaper.swf?url={3}" quality="high" bgcolor="#ffffff" width="{1}" height="{2}" allowScriptAccess="always"allowfullscreen="true" type="application/x-shockwave-flash" pluginspage="[url=http://www.macromedia.com/go/getflashplayer][color=#0000ff]http://www.macromedia.com/go/getflashplayer[/color][/url]" wmode="transparent" /></object>http://192.168.0.200/flexpaper/Diyflexpaper.swf 這是我的flexpaper地址
參數個數:3
參數提示語:
請輸入 閱讀器 的寬度: 請輸入 閱讀器 的高度: 請輸入需要打開的flash地址:其余默認,提交后添加用戶組使用權限,在發貼時便可看到如下圖標了:
這里打開的flash地址是.../swf/1.swf,下面探討flash地址問題:
??????? 1、該地址是已經實現pdf轉為swf的文件地址,本文效果圖為手動轉換后上傳到服務器的,那么對于一般用戶怎么用呢?
??????? 該論壇全部用php開發,本人實在不會,呵呵,不然就可以寫一個后臺轉換程序,這里讓用戶輸入的地址為客戶端pdf什么的文件地址,提交后轉換程序進行上傳并轉換,這樣就完美了。
?
作者:kunoy 出處:http://blog.csdn.net/kunoy 申明:作者寫博是為了總結經驗,和交流學習之用。如需轉載,請盡量保留此申明,并在文章頁面明顯位置給出原文連接。謝謝!
總結
以上是生活随笔為你收集整理的关于论坛实现pdf,word等文档在线预览的功能探讨的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: P4wnP1 USB与赛门铁克反病毒绕过
- 下一篇: 战队口号霸气押韵8字_偶像团队应援口号,