关于论坛实现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什么的文件地址,提交后转换程序进行上传并转换,这样就完美了。
如需转载,请尽量保留此申明,并在文章页面明显位置给出原文连接。谢谢!
关于论坛实现pdf,word等文档在线预览的功能探讨相关推荐
- 用JAVA实现word文档在线预览的功能
预览Word.PPT.Excel 我之前发过一篇文章,是介绍office预览和编辑的但是大部门插件都是收费的,我这次提供的是免费的一个将Word.PPT.Excel转换为PDF然后在浏览器进行预览,之 ...
- 如何实现文档在线预览
从事软件开发已经有快5个年头了.在我经历过的每一家公司都避免不了有需要做文档在线预览的功能.那么客户为什么需要文档在线预览的功能呢?可能包括以下几点, 1.开发的系统支持文件可下载,那么客户肯定会再次 ...
- Android实现文档在线预览功能
前段时间,项目中有个需求是实现文档预览的功能,Android要实现该功能要比IOS复杂的多,下面就我调研的情况,总结一下,供大家参考: 一.WebView 网页显示 该方式类似于ios的实现方式,使用 ...
- 前端【vue】实现文档在线预览功能,在线预览pdf、word、xls、ppt等office文件
前端江太公 前端实现文档在线预览功能 最直接的就是使用XDOC 文档云服务 XDOC可以实现预览以DataURI表示的DOC文档,此外XDOC还可以实现文本.带参数文本.html文本.json文本.公 ...
- office 文档 在线预览功能实现(word,excel,pdf,ppt等多种格式)——使用https://view.xdocin.com/view 提示文档过期——基础积累
web实现office文档在线预览功能--基础积累 最近遇到一个需求,就是要实现多种文档链接的在线预览,最简单的方式就是通过window.open(url地址)的方式来实现. 但是如果要求是在一个弹窗 ...
- 文档在线预览(二)word、pdf、excel文件转html以实现文档在线预览
文章目录 一.前言 1.aspose 2 .poi + pdfbox 3 spire 二.将文件转换成html字符串 1.将word文件转成html字符串 1.1 使用aspose 1.2 使用poi ...
- 文档在线预览(四)使用js前端实现word、excel、pdf、ppt 在线预览
文章目录 实现方案 一.docx文件实现前端预览 1.docx-preview 2.Mammoth 二.PDF文件实现前端预览 1.pdf.js 2.pdfobject.js 3.vue-pdf 4. ...
- 利用OpenOffice实现word文档在线预览
项目中遇到的word文档在线预览需求,查阅很多资料决定利用openoffice转换word文档为pdf/html进行预览实现. 1.下载openoffice4安装 www.openoffice.org ...
- 【githubshare】开源的文件文档在线预览项目,支持主流办公文档的在线预览,如 doc、docx、Excel、pdf、txt、zip、rar、 图片等
GitHub 上一份硬核计算机科学 CS 自学计划,偏向软件工程和系统架构方向. 旨在帮助开发者制定一个为期 3-5 年的重学 CS 目标,夯实 CS 基本功,达到美国一流大学 CS 专业本科毕业水平 ...
最新文章
- jstatd,VisualVM使用和报错解决:Could not create remote object--java.security.AccessControlException
- vue实现上下滑动翻页_基于vue实现上下滑动翻页效果
- SAP 关于ABAP TABLE BUFFER的解释
- json数据封装以及使用Gson将json数据封装到bean
- 6.24AppCan移动开发者大会价值30万的展示机会归了谁?
- 知乎容器化构建系统设计和实践
- 关于 SAP Fiori Elements 应用标题属性(title) 的复制逻辑单步调试
- 【转】C++/CLI简介(什么是C++/CLI) -------C++/CLI 编程系列一
- ts自动编译声明文件_拥抱 TS:细数选择 TS 的 N 种理由
- Effective Java~37. 用EnumMap 代替序数索引
- Oracle教程-安装、结构(一)
- 计算机视觉论文-2021-07-07
- macbook pro启用root的方法
- C++命名空间的玩法
- Android studio教程:[6]创建多个Activity
- c语言读取tdx日线文件,***EXCEL读取通达信股票日线数据***改为读取通达信股票5分钟数据...
- solidity教程(一)搭建僵尸工厂
- 运维工程师高阶面试总结
- pe卸载win10更新补丁_【pe卸载补丁】pe卸载全部补丁_pe+卸载补丁工具
- [渝粤教育] 四川工程职业技术学院 零件几何量检测 参考 资料