利用Discuz自有功能实现豆丁网在线文档功能【支持任意版本】
在坛子里混当了一段时间,学习了不少高手的经验,加上自己的总结摸索出一个巧妙的利用Discuz自带功能实现类似豆丁网及百度文库之类网站的在线文档功能的方法。
论坛已经有帖子可以实现在线文档的功能,但基本都使用了第三方网站的API调用,上传的文档需要先上传到第三方网站然后再调用到自己的网站,这是你会发现:你上传的东西不具有唯一性,也不是你自己网站的专属文档,而这里介绍的方式所传文档版权属于自己网站,文件内容、文件大小、文件形式等均不受第三方网站束缚。
此方法理论上适用于Discuz任意版,因小站使用的是Discuz X7.2,所以此教程是在Discuz 7.2的基础上做的测试。本此功能需要管理员手动上传需要在线浏览的文档,因此最好用于小批量展示在线文档,对于像豆丁网一样用户上传附件然后就可以直接浏览的要求,需要强大的服务器支持,而小站用的是虚拟主机,没有条件进行测试研究,所以无力实现。如果您可以根据本贴扩展出更高级的内容也希望能发予大家共享。本人才疏学浅,也不是什么高手,如果高人看到此贴感到有什么不当的地方敬请指正,如果此功能对大家有也希望大家支持。
首先要实现类似豆丁网及百度文库类似网站的功能就必须先了解它们的工作原理:
豆丁技术分为2个层次:
第一个:将文档(DOC/PPT/PDF/XLS/TXT)等文档在线批量生成FLASHPAPER;
第二个是制作文档浏览器,加载FLASHPAPER(其实就是一个SWF)文件。
因为豆丁网的第一个技术层次是利用自身程序结合FLASHPAPER将用户上传的文档在线生成FLASHPAPER文件(也就是第二条讲的SWF文件)这一操作需要强大的服务器支持,而国内多数站长目前使用的相对较多的是虚拟主机,所以不要奢望虚拟主机可以实现这一技术。
但是可以换个角度思考,不能在线转换文档我们就把它改成线下转换然后再上传就可以了。这就是巧妙的原因,在计算机内将文档转换为SWF文件,再利用Discuz自带的FLASH上传功能将SWF文件上传,然后你会发现你的帖子中也有可以在线阅读文档的功能了,生成的SWF文件和原有文档结构布局完全一样,不用担心会发生错乱。
展示效果:
所用软件:
操作中需要用到一下软件:
1、OFFIC系列办公软件
2、PDF编辑软件
3、将文档转化为SWF文件的软件
4、FLASH播放软件
1、OFFIC系列办公软件就不用说了吧,大家都懂的
2、PDF编辑软件:这里建议大家使用Adobe Acrobat 9,虽说文件比较大,但是比较好用,可以方便的编辑PDF文件,甚至可以在PDF文件页面上添加水印等(这些功能是后话,暂不多讲)而我也用了另一个PDF阅读软件Adobe.Reader9,但是虚拟打印的时候无论如何让都不成功,不知为啥,所以建议大家还是用Adobe Acrobat 9 (注:如果您不需要转化PDF文件,就没必要下载此软件,WORD和EXCEL等其他OFFIC程序是可以直接转化的)Adobe Acrobat 9 的下载地址是(抱歉,以前下载的地址找不到了,大家自己去百度搜吧,应该有很多的,我自用的是Adobe Acrobat 9 Pro)。
3、将文档转化为SWF文件的软件:Macromedia FlashPaper 2。这是实现此功能的重中之重。其实这就是一个虚拟打印机,他可以把WORD、EXCEL、PPT、PDF等等文件直接生成SWF文件(也就是FLSH文件)Macromedia FlashPaper 2下载地址:http://www.skycn.com/soft/21779.html
4、FLASH播放软件:用来查看生成的SWF文件效果,建议使用Adobe Flash Player独立播放器。Adobe Flash Player下载地址:http://www.xdowns.com/soft/10/139/2006/Soft_31550.html
操作步骤:
首先确认已经安装以上所需软件:FlashPaper2.2安装时请注意:在下载的文件解压后有个初始化文件夹,文件夹里有安装说明。
OFFIC文档(以WORD为例,EXCEL等同系列其余软件方法相同),打开文档,你会发现在菜单栏下多出了如下几个按钮:
按钮功能分别为 转换为flash和转换为PDF,单击上图中第三行第三个图标,即转换为flash按钮,跳出保存为flash对话框,选择保存路径即可生成一个SWF文件。将文件拖至下载的Flash Player中播放,对比一下刚才的WORD文档,怎么样,是和豆丁网感觉一样的吧。
PDF转SWF步骤:
用Adobe Acrobat打开PDF文件,依次点击菜单—文件—打印机,在跳出的对话框中,打印机名称选择 Macromedia FlashPaper,勾选打印到文件,其余选项根据个人要求随便设置单击确定,跳出打印到文件,选择路径后单击保存,然后进入转换页面,转换成功后单击左上角的 保存为flash 选择保存路径即可生成SWF文件,然后将文件拖至下载的Flash Player中播放即可看到效果。
最后是将SWF谁的插入论坛步骤:
1、首先上传生成的SWF文件至FTP或者什么网盘都可以,个人喜好,不多说明
2、确定你要插入SWF文件的版块开启了视频及FLASH代码功能,如未开启视频及FLASH代码请按以下操作:后台 - 版块 - 找到需要设置的版块—编辑—帖子选项—允许使用 [flash] 等多媒体代码 前面打勾,就OK了。
3、单击Flash按钮,输入SWF文件所上传的地址再浏览一下帖子,看到了吧,帖子中有在线文档的功能了哦。如果你希望设置文档的宽高,那么就点击视频按钮,输入视频地址(也就是SWF所上传的文件地址),设置视频的宽、高,然后提交就OK了。
当然如果你的SWF文件是上传在自己的FTP中,那么这个文档的版权完完全全属于你的网站。
最后放出在线文档在论坛中的最终实现效果: