当前位置:伍佰目录 » 站长资讯 » 免费资源 » 技术文章 » 文章详细

浅谈:实现Word、Excel、Txt文档在线转换Swf(或PDF)技术

来源:站长分类目录 浏览:533次 时间:2014-10-26

最近一直在研究关于Word、Excel、Txt文档在线转换Swf文件技术,目的是为了在线阅读这些文档更加方便,因为所有的浏览器都支持SWF文件直接播放,就省去很多麻烦。

言 归正传,Word、Excel、Txt在线转换为Swf格式文件已经不是什么新新技术,突出代表为豆丁网、百度文库。在互联网上搜索相关技术文章也不少, 搜到最多的就是Adobe Macromedia FlashPaper,还有就是Print2Flash,在后者官方网站介绍中有两者的功能对比,说是Print2Flash要比Adobe Macromedia FlashPaper强大,具体未测试,我只针对FlashPaper进行了实际测试和研究。

测试环境:Win2003+IIS6+Office2007+ASP+Adobe Macromedia FlashPaper 2.2。

备 注说明:建议使用Office2007或以上,原因是Office2003不稳定,并且无法转换EXCEL和DOCX文件(互联网上搜到资料这么说的,我 之前也没成功,不知道是权限问题还是版本问题),FlashPaper 2.2用的是绿色破解版(你懂的),WEB语言无所谓,本人对PHP、ASP.NET不熟悉,所以不浪费时间。

一、服务器环境调试步骤:

1、先安装FlashPaper,安装好后,在“打印机和传真”中会多一个Macromedia FlashPaper。

2、新建一个Windows 用户账户,加入Administrators组,并将该用户设置为应用站点的IIS匿名访问账户。

3、在IIS中为应用站点建立一个独立的应用程序池,并将该池属性中“标识”下“预定义账户”设置成“本地系统”。

4、 打开“系统管理”-“组件服务”-“计算机”-“我的电脑”-“DCOM配置”,将“Microsoft Excel 应用程序”属性的“常规”中“身份验证级别”设置为“无”;然后将“安全”中“启动和激活权限”、“访问权限”、“配置权限”的“自定义”中加入 Everyone,被赋予所有权限。

5、“Microsoft Word 文档”属性同上设置。

6、应用站点中上传文件和存放转换后文件目录要给足写入权限。

二、ASP调用FlashPaper代码部分:

     strCmd = "e:\FlashPaper2.2\FlashPrinter.exe e:\wwwrooot\a\20110330142507303.xls -o        e:\wwwroot\b\20110330142507303.swf "    '执行命令行  
    Dim objShell  
    Dim intSecceed  
    Set objShell = Server.CreateObject("WScript.Shell")  
    Response.Write(strCmd & "<hr>")  
    intSecceed = objShell.Run(strCmd,1,false)  
    If intSecceed = 0 Then 
     Response.Write("命令成功执行,返回码:" & intSecceed)  
    Else 
     Response.Write("命令执行失败,返回码:" & intSecceed)  
    End If 
    
    set objShell = nothing

写在最后:只是简单实现实现Word、Excel、Txt文档在线转换Swf技术,但还留下一些问题待解决。

1、线程问题,ASP代码对线程控制的控制的不是很好,一旦出现EXCEL假死不能关闭进程,有可能会导致后面的转换无法进行。

2、并发问题,一旦大批量同时转换,那么势必会照成服务器端CPU与内存资源的占用,最好的办法是用队列来解决,FlashPaper虚拟打印机在打印机属性里设置后台打印设置,好像不好使。

3、转换中途FlashPaper或Office组件出错,如何结束错误并反回WEB调用信息。

以上问题估计ASP是很难实现了,如果有高手请多多赐教。

这里将提供FlashPaper模版DefaultViewer2.swf去LOGO下载:

下载地址:DefaultViewer2.swf去LOGO文件


伍佰目录声明:本站部分文章来源于网络,版权属于原作者所有。如有转载或引用文章/图片涉及版权问题,请联系我们处理.我们将在第一时间删除! 联系邮箱:tsk@qq.com

快速链接

最新收录

最新点入