文档阅读器开发思路

核心提示:自动在线转换DOC.PDF.xls等文件本地生成SWF文件原理:通过PHP调用FlashPaper软件对DOC.PDF.XLS.TXT等文件进行转换,实现在线浏览功能和豆丁。GOOGLE等文库系统在线浏览相似,转换文件服务器本地存储,不需要通过其他网

自动在线转换DOC.PDF.xls等文件本地生成SWF文件


原理:通过PHP调用FlashPaper软件对DOC.PDF.XLS.TXT等文件进行转换,实现在线浏览
功能和豆丁。GOOGLE等文库系统在线浏览相似,转换文件服务器本地存储,不需要通过其他网站转换提高浏览速度.


《-------------------FlashPaper软件说明------------------------------》:
Macromedia FlashPaper2.2和contribute3.1一样都是Studio 8里的组件,FlashPaper的作用就是可以把Office

文档(Word、Excel、PowerPoint)等转换成格式的Flash文件和PDF文档,转换速度非常快,效果非常漂亮。我

转换过一个两百多页的Word文档,只用了一分钟左右。
此外,也可以将图片转换成PDF或者Flash影片。
Flash和PDF适合文档的网络传播,又可以较好的保护你的版权
安装说明:
运行初始化文件夹中的“初始化.bat”就可以了,如果提示“没有找到Flash播放器”那就再运行

“GetFlash.exe”。
使用说明:
1,右击要转换的文件,在菜单中选择转换成Flash或者PDF。
2,用office软件打开文件后,文件——打印——打印机名称选择Macromedia FlashPaper——确定——然后选

择保存为Flash或者PDF 。

FlashPaper2.2软件下载地址/html/down/scgj_857_42.html


《---------------------------修改牵涉文件---------------------------------》
D:\wwwroot\disk\modules\recycle.inc.php   删除回收站文件后自动清除生成的SWF文件
D:\wwwroot\disk\modules\public.inc.php   删除公共文件后自动清除生成的SWF文件
D:\wwwroot\disk\templates\default\pd_viewfile.tpl.html 实现首次浏览自动生成SWF文件
D:\wwwroot\disk\viewfile.php ???不修改也没关系 我是让文件地址不隐藏显示


《-----------------------牵涉文件具体修改部分--------------------------------》


recycle.inc.php文件

好像是4个地方(错了高手指出哦!不过功能我是实现了测试也通过了)
把源文件中
if($rs['store_old']){
@unlink(PHPDISK_ROOT.$settings['file_path'].'/'.$rs

['file_store_path'].'/'.$rs['file_real_name']);
@unlink(PHPDISK_ROOT.$settings['file_path'].'/'.$rs

['file_store_path'].'/'.$rs['file_real_name'].'_thumb');
                   }else{
@unlink(PHPDISK_ROOT.$settings['file_path'].'/'.$rs

['file_store_path'].'/'.$rs['file_real_name'].$file_ext);
@unlink(PHPDISK_ROOT.$settings['file_path'].'/'.$rs

['file_store_path'].'/'.$rs['file_real_name'].'_thumb.'.$rs['file_extension']);
     


修改成(好像一共有4个地方)

if($rs['store_old']){
@unlink(PHPDISK_ROOT.$settings['file_path'].'/'.$rs

['file_store_path'].'/'.$rs['file_real_name']);
@unlink(PHPDISK_ROOT.$settings['file_path'].'/'.$rs

['file_store_path'].'/'.$rs['file_real_name'].'_thumb');
@unlink(PHPDISK_ROOT.$settings['file_path'].'/'.$rs['file_store_path'].'/'.$rs

['file_real_name'].'.swf');
@unlink(PHPDISK_ROOT.$settings['file_path'].'/'.$rs['file_store_path'].'/'.$rs

['file_real_name'].'.txt');
}else{
@unlink(PHPDISK_ROOT.$settings['file_path'].'/'.$rs

['file_store_path'].'/'.$rs['file_real_name'].$file_ext);
@unlink(PHPDISK_ROOT.$settings['file_path'].'/'.$rs

['file_store_path'].'/'.$rs['file_real_name'].'_thumb.'.$rs['file_extension']);
@unlink(PHPDISK_ROOT.$settings['file_path'].'/'.$rs['file_store_path'].'/'.$rs

['file_real_name'].$file_ext.'.swf');
@unlink(PHPDISK_ROOT.$settings['file_path'].'/'.$rs['file_store_path'].'/'.$rs

['file_real_name'].$file_ext.'.txt');



public.inc.php文件

把源文件中




if($rs['store_old']){
@unlink(PHPDISK_ROOT.$settings['file_path'].'/'.$rs['file_store_path'].'/'.$rs

['file_real_name']);
@unlink(PHPDISK_ROOT.$settings['file_path'].'/'.$rs['file_store_path'].'/'.$rs

['file_real_name'].'_thumb');
@unlink(PHPDISK_ROOT.$settings['file_path'].'/'.$rs['file_store_path'].'/'.$rs

['file_real_name'].'.swf');
@unlink(PHPDISK_ROOT.$settings['file_path'].'/'.$rs['file_store_path'].'/'.$rs

['file_real_name'].'.txt');
}else{
@unlink(PHPDISK_ROOT.$settings['file_path'].'/'.$rs['file_store_path'].'/'.$rs

['file_real_name'].$file_ext);
@unlink(PHPDISK_ROOT.$settings['file_path'].'/'.$rs['file_store_path'].'/'.$rs

['file_real_name'].'_thumb'.$file_ext);
@unlink(PHPDISK_ROOT.$settings['file_path'].'/'.$rs['file_store_path'].'/'.$rs

['file_real_name'].$file_ext.'.swf');
@unlink(PHPDISK_ROOT.$settings['file_path'].'/'.$rs['file_store_path'].'/'.$rs

['file_real_name'].$file_ext.'.txt');
}

修改成

if($rs['store_old']){
@unlink(PHPDISK_ROOT.$settings['file_path'].'/'.$rs['file_store_path'].'/'.$rs

['file_real_name']);
@unlink(PHPDISK_ROOT.$settings['file_path'].'/'.$rs['file_store_path'].'/'.$rs

['file_real_name'].'_thumb');
@unlink(PHPDISK_ROOT.$settings['file_path'].'/'.$rs['file_store_path'].'/'.$rs

['file_real_name'].'.swf');
@unlink(PHPDISK_ROOT.$settings['file_path'].'/'.$rs['file_store_path'].'/'.$rs

['file_real_name'].'.txt');
}else{
@unlink(PHPDISK_ROOT.$settings['file_path'].'/'.$rs['file_store_path'].'/'.$rs

['file_real_name'].$file_ext);
@unlink(PHPDISK_ROOT.$settings['file_path'].'/'.$rs['file_store_path'].'/'.$rs

['file_real_name'].'_thumb'.$file_ext);
@unlink(PHPDISK_ROOT.$settings['file_path'].'/'.$rs['file_store_path'].'/'.$rs

['file_real_name'].$file_ext.'.swf');
@unlink(PHPDISK_ROOT.$settings['file_path'].'/'.$rs['file_store_path'].'/'.$rs

['file_real_name'].$file_ext.'.txt');
}





pd_viewfile.tpl.html文件

这个文件改动比较大我打包了给大家参考不建议直接覆盖因为我的页面上面去掉了很多的东西



如果实在不明白就加我QQ吧!76891828

漏掉了点东西呵呵~!~
下面是我在调试的时候遇到的几个问题

1、[PHP运行命令出错]Warning: system() [function.system]: Unable to

使用了system("mkdir **")来新建目录。IIS来宾帐户默认是不能访问CMD的。所以就不能FORK新建线程了。
解决办法简单。找到C:/WINDOWS/SYSTEM32/CMD.EXE然后点右键属性。选安全,然后将IIS来宾帐户添加进去,

并勾选读取和运行权限。然后按确认。

2、首次打开页面时候超时修改下面

max_execution_time = 300 ,秒可以设置更大,这里是300秒,然后重起服务

3、没有system,exec执行权限 把下面删除就好了
disable_functions = proc_open, popen, exec, system, shell_exec, passthru

 http://flexpaper.devaldi.com/    调取flash文档

http://75zg.com/UploadFiles/2010-06/admin/75zgphp.rar

推荐阅读:http://dingchaoqun12.blog.163.com/blog/static/1160625042010214102023480/ 

http://www.cnblogs.com/penbox/archive/2011/09/02/2163646.html 

swftools分页处理: http://www.blogjava.net/jforeverg/archive/2011/07/06/353813.html 

 swftools命令:http://wiki.swftools.org/index.php/Pdf2swf

原文地址:https://www.cnblogs.com/liuguanghuiyes/p/2020547.html