print2flash实现将word文档转换成swf,网页直接预览

来源:互联网 发布:安徽芜湖java 编辑:程序博客网 时间:2024/06/14 05:55

               项目里一个功能,要求在网页上预览word文档。就像百度文库那样。最终选定采用swf格式来实现预览效果。


              前提需要:

             1.swf 转换工具:Print2Flash3 。网上有很多swf转换工具,比如Print2FlashFree4、swftools、FlashPaper等,但是经过本人测试这些都不大合适,本人开发是64位系统,其中flashpapers适用32位机,print2flashfree4适用64.但是老是报一些莫名其妙的错误。

             

            2.在程序中引用Print2Flash3的dll(从添加引用的COM 中寻找)。

               后台代码中:

           

using Print2Flash3;

              效果:

           在前台上传word,通过查询页面显示word文档,并且可以实现网页预览的效果。

        

            3.原理

             将word上传后存储到服务器,在查询时,调用安装的swf转换工具Print2Flash3,将word转换成swf格式的,然后点击预览就可以实现在线网上浏览。


 后台代码:

      //将word ppt 转换成swf  oldFile是上传的文件,swfFile是转换后的文件        public void ConvertToSWF(string oldFile, string swfFile)        {            try            {                System.Diagnostics.Process pc = new System.Diagnostics.Process();                              pc.StartInfo.FileName = "\\\\F-MDH\\Users\\Public\\print2\\p2fServer.exe";//默认Print2Flash3安装目录                pc.StartInfo.Arguments = oldFile + " " + swfFile;//调用FlashPrinter的命令                pc.StartInfo.CreateNoWindow = true;//不创建窗口                pc.StartInfo.UseShellExecute = false;                pc.StartInfo.RedirectStandardInput = false;//不重定向输入                pc.StartInfo.RedirectStandardOutput = false;//不重定向输出                pc.StartInfo.RedirectStandardError = true;                pc.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;                pc.Start();                pc.WaitForExit();                System.Threading.Thread.Sleep(1000 * 3);                pc.Close();                pc.Dispose();            }            catch (Exception)            {                throw;            }            System.Diagnostics.Debug.Print("Completed");


0 0
原创粉丝点击