设为首页 收藏本站
查看: 407|回复: 0

[经验分享] PHP+FlashPaper文库系统方案简析

[复制链接]

尚未签到

发表于 2017-4-3 06:23:48 | 显示全部楼层 |阅读模式
博客原文:http://www.joychao.cc/516.html

之前在兄弟连的第二个项目,做了一个类百度文库的一个文库系统,效果还行,虽然不是很完美,但是基本的一个功能实现了用户上传word,ppt,excel等常用文件的转换。今天来跟大家分享一下实现原理吧:

首先呢,这个系统实现方法有多种,当时也是都尝试了一遍,有的光软件就100多M,所以最终选择了FlashPaper这个方案。
配置要求:
1、服务器必须是windows系统
因为本插件必须能将doc、xls、docx、ppt、txt、pdf等等文档打开才可以,因为这些文档只支持windows系统,所有必须服务器是 windows系统,而且必须安装office和pdf阅读器。
2、php必须支持exe函数调用(因为首先要将文档打开然后打印成flash格式)
3、服务器必须支持虚拟打印功能
4、服务内存需要足够大,因为打印的时候要占用原有的内存(建议最低为2-4G);
满足上述服务器配置条件,才能支持在线文档插件。

整体思路:
一) 客户端上传上来文件。
二) 服务端调用flashpaper
三) 服务端打印出.swf文件。
四) 利用FlashPaper调用.swf文档并显示在页面上。



第一步:下载安装FlexPaper
破解版下载:http://files.cnblogs.com/wuhenke/flashpaper.rar 或http://vdisk.weibo.com/s/42Xlq
解压后得到如下结构:


接下来要做的就是打开初始化目录,双击“初始化.bat”,过程中如果出错则整个项目就失败了。


第二步:使用FlashPaper
项目安排:


这里我建立一个项目名为docDemo的目录,下面有docs,swfs,tools。docs存放用户上传的文档,swfs存放转换后的文件,tools存放FlashPaper.

Flash Paper支持Office文档(.doc,.xls,.ppt)直接转换为PDF或SWF,速度很快,效果较好。可惜,Flash Paper V2.2后没有再更新了。安装Flash Paper后,可以直接使用命令调用FlashPrinter.exe,实现批量转换。
核心其实就是这个转换,命令格式:C:\FlashPaper2.2\FlashPrinter.exe C:\PHP基础.ppt -o C:PHP基础.pdf
我这里写了一个函数来实现批量转换:
/**
* 转换成SWF
*/
function convert($doc){
$docFile="C:\wamp\www\docDemo\docs\\{$doc}"; //需要转换的文档
$newFile="C:\wamp\www\docDemo\swfs\\{$doc}.swf"; //转换后的文件名
$command = "\"C:\wamp\www/docDemo/tools/FlashPrinter.exe\" {$docFile} -o {$newFile}";
if(!file_exists($newFile))//swf文件已经存在就不用转换了
exec($command); //执行转换
return $newFile;
}


//执行转换
$path=convert($doc);//返回新文件路径
file_exists($path) or exit('文件转换失败!');

注意:以上红色部分请一定要保证填写正确,不然失败哦!

好了转换好了就使用最传统的方法把转换后的swf文件嵌入到网页就OK了。
我做了一个示例,下载地址:http://vdisk.weibo.com/s/43jQ8
这个实例只是实现了浏览,至于上传文档这些大家就自己做了。
XP下成功,win7上不成功!


这里补充一下关于《微分享文库》说明文档不全的问题:
之前压缩包里的说明漏掉了两点需要修改路径的地方,今天重新补上全文:
引用
db 为数据库文件 使用时请直接把db/wshare放在mysql安装目录的data目录下
wshare 为程序主文件


安装方法(win7好像用不了):
1,首先打开 wshare/FlashPaper/初始化 目录下的:初始化.bat
2,修改 wshare/FlashPaper/c.bat 内容。修改相应路径
3, 修改 home/controls/upload.class.php中80~83行中相应路径。
4,修改 admin/controls/docs.class.php中126~128行中相应路径。

4,把db/wshare放在mysql安装目录的data目录下
5,完毕。

说明:
wshare/FlashPaper 为flash转换文件目录
wshare/Documents 为用户上传文档目录,包含swf和old,swf为转换后的swf文件,old为用户上传的原文件


后台:http://xxxx.com/admin.php
username:admin
password:123456

----------------- LAMP兄弟连 安正超

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-359307-1-1.html 上篇帖子: PHP的url传值学习笔记 下篇帖子: 第十课:PHP中遍历数组
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表