网上找了很多相关例子,怎么测试都存在问题。查到最多的方法是通过FlashPaper2.2这个软件,先转换成swf格式,然后在网页输处。测试代码使用FlashPaper2.2绿色免安装版,网上找的基本都免安装。直接将软件文件夹拷入工程根目录下。测试代码如下:
        string time = DateTime.Now.ToString("yyyyMMddHHmmss");
        Process process = new Process();
        ProcessStartInfo startInfo = new ProcessStartInfo();
        string paperroot = Server.MapPath("~/FlashPaper2.2/FlashPrinter.exe"); //软件路径
        string docFile = Server.MapPath("~/TestSWF/1.doc");//原DOC文件路径
        string swfFile = Server.MapPath("~/TestSWF/" + time + ".swf");//存放SWF路径
        startInfo.FileName = paperroot;
        startInfo.Arguments = string.Format(@"{0} -o {1}", docFile, swfFile);
        startInfo.UseShellExecute = false;
        startInfo.RedirectStandardInput = false;
        startInfo.RedirectStandardOutput = false;
        startInfo.CreateNoWindow = false;
        process.StartInfo = startInfo;
        process.Start();        if (process != null)
        {
            process.Close();
        }
以上代码在VS2005中测试是通过的,主要存在以下三个问题:
1.运行转换时会弹出该软件本身的应用程序界面,这绝对是影响用户体验的。
2.如果批量转换,比如同时上传5个DOC转换,会卡住。(我用的是多线程)最后无法完成转换。
3.发布到IIS中执行没反应。可能是用户权限问题,(已经设置TestSWF文件夹的ereryone,net work,asp.net等权限,还是不行)
4.FlashPaper2.2该软件在WIN7的系统下不能正常运行。会提示没有正确安装虚拟打印机,网上查的说是不兼容64位系统。为了解决该问题,我在网上又找到了一款Print2Flash3该软件,据说这款软件是FlashPaper2.2升级版,经过测试能在win7系统下运行。但发布到IIS中还是不能运行,批量也不能运行,转换很慢,最大问题是使用Print2Flash3转换出来的swf文档最后会有一行英文。据说要注册以后才能去掉(网上下的包中有注册码,也可以在网上找到Print2Flash3的安装教程flash视频版),但注册之后,卸载后,重新安装注册会提示注册失败。(可能是第一次安装注册会在注册表中生成记录所以不能注册),但不知道如何删除注册表中注册记录。经过我的测试,在C#代码中执行Print2Flash3软件,主要代码是以下两句:
string.Format(@"{0} {1}", docFile, swfFile); //中间没有 “-o” 
调用的是:Print2Flash3\p2fServer.exe这句,否则不能转换。
同样在VS2005中测试可以,发布以后就不能转换。最后求解。究竟如何才能正确使用FlashPaper2.2或者Print2Flash3两个软件。或者还有什么更好的办法来实现百度文库的效果。其他事宜请联系我QQ584366725 ·~ 真诚求解 !··

解决方案 »

  1.   

    一般情况,你上传相应的文件的时候,由后台再生成对应的swf文件,这样用户在访问的时候就直接访问swf了,这样呈现比较快
      

  2.   

    Reference:
    http://www.cnblogs.com/insus/archive/2011/07/21/2112369.html
      

  3.   

    我做过这个没有用flexpaper,觉得这个一次性加载文件慢特别是大文件的时候。我的QQ 645754919
      

  4.   

    FlexPaper,不管上传什么文件都转成swf格式就行了。。
      

  5.   

    FlashPaper  我是这样实现了   上传 word 或者 txt 文档 转换为 swf 格式!
      

  6.   

    针对即时转换为swf是不明智的做法,上传文档后需要审核,审核通过后再后台进行windows服务操作转换,最终在页面显示,另外服务器不会用win7的,2003才是服务器版本
      

  7.   


    FlashPaper 发布到IIS中用不了,在win7下也是不能用的。
      

  8.   


    我这里不考虑是否要审核的,只要上传的DOC 能转换成swf 就可以了。 发布到2003的IIS里,以上使用的两个软件都不能使用,不知道是不是权限问题。该设置的好像都设置了。    求解~~~~~
      

  9.   


    我查过了,该软件要配合SwfTools 这个东西,但是安装SwfTools这个之后不知道怎么操作,直接拖动doc到到SwfTools应用程序里面就卡住了,没法转换 ?  求解 !!~~~·  
      

  10.   

    我做过这样的项目...
    页面是访问swf,至于上传的东西怎么转成swf,网上有免费的一个exe工具,写一个.net程序调用exe把你的文件转成swf即可.
      

  11.   


    好像要搭配这个软件 SwfTools   ,但安装之后不知道怎么使用,很费劲啊,。。求解。。·~~~~~~
      

  12.   

    http://download.csdn.net/detail/bgspace/4344525          这个可以试一下  是一个小demo 同时实现转换显示  可以作为参考使用
      

  13.   

    iis服务   更改权限  system
    至于弹出应用程序   web端是不会出现的  最多在你的iis服务器上出现一下不要做多线程  排个队就行了
      

  14.   

    即时转换的话不建议这样做,可以写一个window服务,每天晚上定时跑,把上传的文件转换成swf.我邮箱 [email protected],发邮件,给你一个参考例子.
      

  15.   

    我也正在做这个,vs2005测试通过,还没发布,不知道会不会有这个问题。
    win7系统 ,用的print2flash,前台用enum显示。
    跟19楼说的一样,开始想用windows服务,定时生成,但是发现好像不能启动命令行,后来就改用类库了,可以设置程序一直运行。