- 28
- 0
- 约2.16千字
- 约 5页
- 2016-06-11 发布于重庆
- 举报
PHPFlashPaper文库系统方案简析
之前在兄弟连的第二个项目,做了一个类百度文库的一个文库系统,效果还行,虽然不是很完美,但是基本的一个功能实现了用户上传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破解版下载:/wuhenke/flashpaper.rar?或?/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了。我做了一个示例,下载地址:/s/43jQ8??这个实例只是实现了浏览,至于上传文档这些大家就自己做了。XP下成功,win7上不成功!这里补充一下关于《微分享文库》说明文档不全的问题:之前压缩包里的说明漏掉了两点需要修改路径的地方,今天重新补上全文:
引用
db????为数据库文件?? 使用时请直接把db/wshare放在mysql安装目录的data目录下wshare????为程序主文件安装方法(win7好像用不了):1,首先打开 wshare/FlashPaper/初始化??目录下的:初始化.bat2,修改 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??
原创力文档

文档评论(0)