论坛引擎: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等文档在线预览的功能探讨相关推荐

  1. 用JAVA实现word文档在线预览的功能

    预览Word.PPT.Excel 我之前发过一篇文章,是介绍office预览和编辑的但是大部门插件都是收费的,我这次提供的是免费的一个将Word.PPT.Excel转换为PDF然后在浏览器进行预览,之 ...

  2. 如何实现文档在线预览

    从事软件开发已经有快5个年头了.在我经历过的每一家公司都避免不了有需要做文档在线预览的功能.那么客户为什么需要文档在线预览的功能呢?可能包括以下几点, 1.开发的系统支持文件可下载,那么客户肯定会再次 ...

  3. Android实现文档在线预览功能

    前段时间,项目中有个需求是实现文档预览的功能,Android要实现该功能要比IOS复杂的多,下面就我调研的情况,总结一下,供大家参考: 一.WebView 网页显示 该方式类似于ios的实现方式,使用 ...

  4. 前端【vue】实现文档在线预览功能,在线预览pdf、word、xls、ppt等office文件

    前端江太公 前端实现文档在线预览功能 最直接的就是使用XDOC 文档云服务 XDOC可以实现预览以DataURI表示的DOC文档,此外XDOC还可以实现文本.带参数文本.html文本.json文本.公 ...

  5. office 文档 在线预览功能实现(word,excel,pdf,ppt等多种格式)——使用https://view.xdocin.com/view 提示文档过期——基础积累

    web实现office文档在线预览功能--基础积累 最近遇到一个需求,就是要实现多种文档链接的在线预览,最简单的方式就是通过window.open(url地址)的方式来实现. 但是如果要求是在一个弹窗 ...

  6. 文档在线预览(二)word、pdf、excel文件转html以实现文档在线预览

    文章目录 一.前言 1.aspose 2 .poi + pdfbox 3 spire 二.将文件转换成html字符串 1.将word文件转成html字符串 1.1 使用aspose 1.2 使用poi ...

  7. 文档在线预览(四)使用js前端实现word、excel、pdf、ppt 在线预览

    文章目录 实现方案 一.docx文件实现前端预览 1.docx-preview 2.Mammoth 二.PDF文件实现前端预览 1.pdf.js 2.pdfobject.js 3.vue-pdf 4. ...

  8. 利用OpenOffice实现word文档在线预览

    项目中遇到的word文档在线预览需求,查阅很多资料决定利用openoffice转换word文档为pdf/html进行预览实现. 1.下载openoffice4安装 www.openoffice.org ...

  9. 【githubshare】开源的文件文档在线预览项目,支持主流办公文档的在线预览,如 doc、docx、Excel、pdf、txt、zip、rar、 图片等

    GitHub 上一份硬核计算机科学 CS 自学计划,偏向软件工程和系统架构方向. 旨在帮助开发者制定一个为期 3-5 年的重学 CS 目标,夯实 CS 基本功,达到美国一流大学 CS 专业本科毕业水平 ...

最新文章

  1. jstatd,VisualVM使用和报错解决:Could not create remote object--java.security.AccessControlException
  2. vue实现上下滑动翻页_基于vue实现上下滑动翻页效果
  3. SAP 关于ABAP TABLE BUFFER的解释
  4. json数据封装以及使用Gson将json数据封装到bean
  5. 6.24AppCan移动开发者大会价值30万的展示机会归了谁?
  6. 知乎容器化构建系统设计和实践
  7. 关于 SAP Fiori Elements 应用标题属性(title) 的复制逻辑单步调试
  8. 【转】C++/CLI简介(什么是C++/CLI) -------C++/CLI 编程系列一
  9. ts自动编译声明文件_拥抱 TS:细数选择 TS 的 N 种理由
  10. Effective Java~37. 用EnumMap 代替序数索引
  11. Oracle教程-安装、结构(一)
  12. 计算机视觉论文-2021-07-07
  13. macbook pro启用root的方法
  14. C++命名空间的玩法
  15. Android studio教程:[6]创建多个Activity
  16. c语言读取tdx日线文件,***EXCEL读取通达信股票日线数据***改为读取通达信股票5分钟数据...
  17. solidity教程(一)搭建僵尸工厂
  18. 运维工程师高阶面试总结
  19. pe卸载win10更新补丁_【pe卸载补丁】pe卸载全部补丁_pe+卸载补丁工具
  20. [渝粤教育] 四川工程职业技术学院 零件几何量检测 参考 资料

热门文章

  1. android版本怎么升级到7,安卓7.0更新
  2. 【Nginx】使用nginx进行端口转发
  3. 天空卫士香港公司 | 开创兔年新局面、见证安全新未来
  4. Egret引擎外部字体的解决方案
  5. 5W7.5W10W无线充电解决方案原理图电路图
  6. 【LaTeX教程】五.LaTeX中的插图
  7. 打破思维定势,跳出问题漩涡
  8. rc1改为rc2出现的问题1
  9. 长芯微新品LCM24711热插拔控制器可PTP替代TI TPS24711,更高ESD防护等级
  10. 河南省计算机二级考试题库,计算机二级考试题库