weboffice使用时卡死浏览器_weboffice浏览器控件 - CSDN
精华内容
参与话题
  • 微软方:利用Office2007以上版本的一个PDF插件SaveAsPDFandXPS.exe可以导出PDF文件,然后再利用免费的swftools.exe工具生成swf格式的Flash文件,网页中加载flexpaper免费开源工具(有广告)实现Flash文件的预览。...

    本文转自 http://www.officeweb365.com/officetoview.html ;仅供大家学习参考


    一、服务器先转换为PDF,再转换为SWF,最后通过网页加载Flash预览

    微软方:利用Office2007以上版本的一个PDF插件SaveAsPDFandXPS.exe可以导出PDF文件,然后再利用免费的swftools.exe工具生成swf格式的Flash文件,网页中加载flexpaper免费开源工具(有广告)实现Flash文件的预览。
    优点
    1、有效的保护的源文件及文件的复制,不可复制也是缺点。
    2、源码是自己的,版权有保证。
    缺点
    1、服务器上必须安装Office软件。
    2、导出PDF文件本身是个打印过程,Excel页面格式未设置,会出现一张表格打印出多页来,阅读体验大大下降。
    3、转换过程非常耗费资源,低配的CPU几乎能跑满,服务器卡死。转换时间也非常漫长,这个时间主要是卡在了转换PDF上面。
    4、转换完成服务器会遗留大量Excel、Word进程无法正常退出,有一些折中的解决办法,可以在网上搜索。
    5、设置非常麻烦,本身微软官方的说法Office软件是客户端程序,在与IIS交互的时候本身就未设计。所以很多程序员把精力浪费在了调试程序上面。有两点在调试的时候需要注意。一个是在web.config中设置 <identity impersonate="true" userName="administrator" password="你的服务器管理员密码" />,一个是在Office软件的设置中设置跟桌面交互。
    6、严重浪费磁盘空间,一个文件还需要一个PDF文件、一个SWF文件,是否每次都转换,纠结是要硬盘空间呢还是要CPU的资源。
    参考链接:
    http://www.cnblogs.com/expectszc/archive/2012/04/04/2432149.html 
    http://www.cnblogs.com/liuning8023/archive/2013/03/04/2943482.html 
    http://www.cxyclub.cn/n/29549/ 

    非微软方:没有微软的Office软件可安装,只能用第三方的openoffice(开源、免费)来转换PDF文件,其它方面都一样,优缺点一样
    参考链接:
    http://blog.csdn.net/z69183787/article/details/17468039 


    二、Office文档直接转换为SWF,通过网页加载Flash预览

    利用flashpaper直接转换为SWF文件(虚拟打印机),然后利用flexpaper预览Flash文件。
    flashpaper是Macromedia的一款产品,随着被Adobe公司收购,Macromedia对于这款软件早就放弃了,国内尚无人在程序中调试成功过。
    参考链接:
    http://www.dzwebs.net/1149.html 


    三、office转Html、pdf转图片在线预览文件Html文件

    利用DCOM配置直接操作Office文件,读取文件内容,导出Html文件
    优点
    实践证明此方法不科学。
    缺点
    1、服务器上必须安装Office软件。
    2、配置麻烦,正如微软所说,读取Office不是这么干的。
    3、转换的文件格式均丢失。
    4、仅限于IIS服务器,利用ASP.net(C#)。
    参考链接:
    http://www.cnblogs.com/tangbinblog/archive/2012/11/29/2794110.html 


    四、第三方ActiveX浏览器控件

    如科瀚的SOAOffice中间件、卓正软件的pageoffice控件、WebOffice控件、国外的Office Viewer ActiveX Control
    优点
    可在线编辑等。
    缺点
    1、客户端需安装控件。
    2、付费。
    3、在Html5、CSS3以及桌面向浏览器转换的大潮流下,控件已是昨日黄花。
    参考链接:
    http://www.kehansoft.com/soaoffice/index.htm 
    http://www.zhuozhengsoft.com/ 
    http://www.officectrl.com/ 
    http://www.anydraw.com/ 


    五、微软的Office Web Apps

    微软新出的在线文档,与Google文档抗衡,估计没谷歌文档,微软也懒得出这个
    优点
    微软自家的东西原生态呈现。
    缺点
    需架设一台单独的服务器(可以是虚拟机),配置过低能安装,无法运行,另外还需一台域服务器。而这两台机器上均不能安装其它程序,比如SQLServer,在Office Web Apps服务器上每次重启IIS会重置,也就是说你不能有任何其它网站。
    参考链接:
    http://technet.microsoft.com/zh-cn/library/jj219456(v=office.15).aspx 


    六、第三方成熟的服务

    如OfficeWeb365、idocv
    优点
    1、OfficeWeb365采用的微软的Office Web Apps,idocv不详。
    2、省心省力、节省投入。
    缺点
    1、OfficeWeb365只能查看不能编辑,文档大小限制为10M,这也是Office Web Apps的文档限制大小,不过对于一般Office文件大小已绰绰有余。
    2、idocv的文档还原能力不强,格式无法完全还原,特别是在Excel与Powerpoint上面,但无文档大小限制。
    参考链接:
    http://www.officeweb365.com 
    http://www.idocv.com 


    七、在浏览器中直接打开

    通过设置MiME类型,告诉浏览器这是Office文件,浏览器直接调用本地Office或PDF软件打开
    优点
    1、不用编程,不用第三方服务,直截了当。
    2、很多用户安装了Adobe的PDF预览软件,同时在浏览器上也直接安装了插件,浏览器可直接查看PDF文件。
    缺点
    你永远不知道客户机器上是否安装了Office软件,虽然几乎都安装了,但直接调用Office软件,客户体验大大下降,更何况还有个讨厌的迅雷一直在监视你的浏览器,不给你打开的机会,当然这些都是你无法预知的。


    八、其它

    如金山快写、一些网盘的预览
    参考链接:
    http://w.wps.cn/ 

    展开全文
  • 引言 之前项目需要,查找了...缺点:Office文档链接在浏览器中打开,会有如上图的提示,需用户自己选择打开或者保存功能,如果客户电脑上安装迅雷下载软件,会启动迅雷下载,用户体验不好。 方案二 office文档转

    引言

    之前项目需要,查找了office文档在线预览的解决方案,顺便记录一下,方便以后查询。

    方案一

    直接在浏览器中打开Office文档在页面上的链接。会弹出如下窗口:

     

    优点:主流浏览器都支持。

    缺点:Office文档链接在浏览器中打开,会有如上图的提示,需用户自己选择打开或者保存功能,如果客户电脑上安装迅雷下载软件,会启动迅雷下载,用户体验不好。

    方案二

    office文档转html,首先引入com组件中office库,然后在程序集扩展中引入word,excel,ppt的dll。

     

    然后F6生成,会报如下错误:

    解决办法:

    office文档转换html辅助类:

     Office2HtmlHelper
     Office2Html.aspx
    复制代码
     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Web;
     5 using System.Web.UI;
     6 using System.Web.UI.WebControls;
     7 
     8 namespace Wolfy.OfficePreview
     9 {
    10     public partial class Office2Html : System.Web.UI.Page
    11     {
    12         protected void Page_Load(object sender, EventArgs e)
    13         {
    14 
    15         }
    16         protected void btnWord_Click(object sender, EventArgs e)
    17         {
    18             Button btn = sender as Button;
    19             switch (btn.CommandArgument)
    20             {
    21                 case "docx":
    22                     Office2HtmlHelper.Word2Html(MapPath("/Doc/分析某网站的SEO策略(外链篇).doc"), MapPath("/Html/"), "分析某网站的SEO策略(外链篇)");
    23                     break;
    24                 case "xlsx":
    25                     Office2HtmlHelper.Excel2Html(MapPath("/Excel/1994-2013北京市历年最低工资标准.xlsx"), MapPath("/Html/"), "1994-2013北京市历年最低工资标准");
    26                     break;
    27                 case "ppt":
    28                     Office2HtmlHelper.PPT2Html(MapPath("/PPT/23种设计模式详解.ppt"), MapPath("/Html/"), "23种设计模式详解");
    29                     break;
    30                 default:
    31                     break;
    32             }
    33         }
    34     }
    
    35 }
    复制代码

    测试结果:

    这里为了测试特找了含有图片的office文档,浏览正常:

     要求:机器需安装office,并且office环境是纯净的,所谓纯净就是不能有多个版本,lz曾经在电脑上安装过wps,被害苦了总是报如下错误:

    报这个错误,只能哭了,网上的关于00046的解决办法都尝试了,不行。然后不得不重新安装office,然后笑了。最好安装office完整版,因为原来装的不是完整版,不知道有没有这方面的原因,也没有测试,建议完整版。

    方案三

    office文档转PDF,PDF转swf,使用flexpaper+swftools实现在线浏览。

    在操作office2007时,需安装SaveAsPDFandXPS.exe ,安装成功后,如图所示:

    只有安装了SaveAsPDFandXPS.exe,程序操作office文档,才有office文档另存为pdf文件。office2010不需要安装了,内置有这个功能。

     核心代码:

     Office2PDFHelper
     Office2PDF
     Office2PDF.aspx

    测试结果:

     

    此方案office转pdf文件的过程的要求与方案二要求相同。

    pdf转换完成后,就可以将pdf转换为swf,使用flexpaper+swftools实现在线浏览了,可参考我之前的一篇文章:

    FlexPaper+SWFTool+操作类=在线预览PDF

    方案四

    office文档直接转换为swf,使用flexpaper+swftool实现在先浏览。

    office直接转换为swf,这里使用flashpaper来实现:

    FlashPaper是一个虚拟打印机,可将word文件直接转化成swf格式文件(.doc.xls .txt .pdf等文件都可以正常生成SWF格式)

    这里只贴出核心代码:

    复制代码
     1 using System;
     2 using System.Collections.Generic;
     3 using System.Diagnostics;
     4 using System.Linq;
     5 using System.Web;
     6 using System.Web.UI;
     7 using System.Web.UI.WebControls;
     8 
     9 namespace Wolfy.OfficePreview
    10 {
    11     public partial class Office2Swf : System.Web.UI.Page
    12     {
    13         protected void Page_Load(object sender, EventArgs e)
    14         {
    15 
    16         }
    17         protected void btnWord_Click(object sender, EventArgs e)
    18         {
    19             Button btn = sender as Button;
    20             switch (btn.CommandArgument)
    21             {
    22                 case "docx":
    23                     ConvertOffice2Swf(MapPath("/Doc/分析某网站的SEO策略(外链篇).doc"), MapPath("/SWF/分析某网站的SEO策略(外链篇).swf"));
    24                     break;
    25                 case "xlsx":
    26                     Office2PDFHelper.XLSConvertToPDF(MapPath("/Excel/1994-2013北京市历年最低工资标准.xlsx"), MapPath("/SWF/1994-2013北京市历年最低工资标准.swf"));
    27                     break;
    28                 case "ppt":
    29                     Office2PDFHelper.PPTConvertToPDF(MapPath("/PPT/23种设计模式详解.ppt"), MapPath("/SWF/23种设计模式详解.swf"));
    30                     break;
    31                 default:
    32                     break;
    33             }
    34         }
    35         /// <summary>
    36         /// office 转swf
    37         /// </summary>
    38         /// <param name="officePath">要转换的office文档路径</param>
    39         /// <param name="swfPath">转换后swf的路径</param>
    40         private void ConvertOffice2Swf(string officePath, string swfPath)
    41         {
    42             Process process = new Process();     //创建进程对象 
    43             ProcessStartInfo startInfo = new ProcessStartInfo();
    44             string paperroot = @"C:\Program Files\Macromedia\FlashPaper 2\FlashPrinter.exe";//这里是FlashPrinter的路径
    45             string docFile = officePath;
    46             string swfFile = swfPath;
    47             startInfo.FileName = paperroot;
    48             startInfo.Arguments = docFile + " -o " + swfFile;
    49             startInfo.UseShellExecute = false;     //不使用系统外壳程序启动 
    50             startInfo.RedirectStandardInput = false;   //不重定向输入 
    51             startInfo.RedirectStandardOutput = false;   //重定向输出 
    52             startInfo.CreateNoWindow = true;     //不创建窗口 
    53             process.StartInfo = startInfo;
    54             process.Start();   
    55             if (process != null)
    56                 process.Close();
    57            
    58         }
    59     }
    60 }
    复制代码

    鉴于测试时,flashpaper在将office文档转换为swf的时候,在使用flexpaper的浏览时,出现转换的内容为空,猜测:flexpaper能打开的swf文件与flashpaper转的swf文件不兼容。最后使用flashpaper将office文档转换为pdf,然后走方案三,pdf转swf的步骤。另外本地测试时,没问题。将项目部署在IIS上,不能浏览,出现卡死的情况,调试发现,文件太大,在office还没完全转换为pdf的情况下,swftool工具就去寻找pdf文件,出现错误。

    IIS上,无法浏览,查询网上解决方案,和权限这块有关,按照步骤设置了,未果,有点遗憾。

    方案五

    使用点聚公司的weboffice控件,测试后发现兼容性较差,放弃。有兴趣的可以研究一下。

    方案六

    office转pdf后,直接浏览器打开,此方案鉴于目前主流浏览器都集成adobe reader功能,可实现直接打开PDF文件。将pdf文件链接可直接打开。

    必要条件:本地需安装adobe reader类似软件。

    总结

    鉴于项目情况选择一个适合的方案,其中有方案只是曲线救国,但是同样能达到要求。如果您觉得对你有所帮助,不妨推荐一下,让更多的人都能看到,谢谢你能看到文章最后。

    参考文章:

    http://www.cnblogs.com/expectszc/archive/2012/04/04/2432149.html

    http://www.cnblogs.com/lexlin/articles/2478027.html

    http://www.cnblogs.com/gossip/p/3473024.html

    http://www.cnblogs.com/expectszc/archive/2012/04/04/2432149.html

    img 作者:Wolfy
    出处:http://www.cnblogs.com/wolf-sun/
    本文以学习、研究和分享为主,欢迎转载,但必须在文章页面明显位置给出原文连接。愿与志同道合的朋友一起成长......
    技术交流群:329276418
    展开全文
  • 原文链接:http://www.officeweb365.com/officetoview.html 一、服务器先转换为PDF,再转换为SWF,最后通过网页加载Flash预览 微软方:利用Office2007以上版本的一个PDF插件SaveAsPDFandXPS.exe可以导出PDF文件,...

    原文链接:http://www.officeweb365.com/officetoview.html

    一、服务器先转换为PDF,再转换为SWF,最后通过网页加载Flash预览

    微软方:利用Office2007以上版本的一个PDF插件SaveAsPDFandXPS.exe可以导出PDF文件,然后再利用免费的swftools.exe工具生成swf格式的Flash文件,网页中加载flexpaper免费开源工具(有广告)实现Flash文件的预览。
    优点:
    1、有效的保护的源文件及文件的复制,不可复制也是缺点。
    2、源码是自己的,版权有保证。
    缺点:
    1、服务器上必须安装Office软件。
    2、导出PDF文件本身是个打印过程,Excel页面格式未设置,会出现一张表格打印出多页来,阅读体验大大下降。
    3、转换过程非常耗费资源,低配的CPU几乎能跑满,服务器卡死。转换时间也非常漫长,这个时间主要是卡在了转换PDF上面。
    4、转换完成服务器会遗留大量Excel、Word进程无法正常退出,有一些折中的解决办法,可以在网上搜索。
    5、设置非常麻烦,本身微软官方的说法Office软件是客户端程序,在与IIS交互的时候本身就未设计。所以很多程序员把精力浪费在了调试程序上面。有两点在调试的时候需要注意。一个是在web.config中设置 ,一个是在Office软件的设置中设置跟桌面交互。
    6、严重浪费磁盘空间,一个文件还需要一个PDF文件、一个SWF文件,是否每次都转换,纠结是要硬盘空间呢还是要CPU的资源。
    参考链接:
    http://www.cnblogs.com/expectszc/archive/2012/04/04/2432149.html
    http://www.cnblogs.com/liuning8023/archive/2013/03/04/2943482.html
    http://www.cxyclub.cn/n/29549/

    非微软方:没有微软的Office软件可安装,只能用第三方的openoffice(开源、免费)来转换PDF文件,其它方面都一样,优缺点一样
    参考链接:
    http://blog.csdn.net/z69183787/article/details/17468039

    二、Office文档直接转换为SWF,通过网页加载Flash预览

    利用flashpaper直接转换为SWF文件(虚拟打印机),然后利用flexpaper预览Flash文件。
    flashpaper是Macromedia的一款产品,随着被Adobe公司收购,Macromedia对于这款软件早就放弃了,国内尚无人在程序中调试成功过。
    参考链接:
    http://www.dzwebs.net/1149.html

    三、office转Html、pdf转图片在线预览文件Html文件

    利用DCOM配置直接操作Office文件,读取文件内容,导出Html文件
    优点:
    实践证明此方法不科学。
    缺点:
    1、服务器上必须安装Office软件。
    2、配置麻烦,正如微软所说,读取Office不是这么干的。
    3、转换的文件格式均丢失。
    4、仅限于IIS服务器,利用ASP.net(C#)。
    参考链接:
    http://www.cnblogs.com/tangbinblog/archive/2012/11/29/2794110.html

    四、第三方ActiveX浏览器控件

    如科瀚的SOAOffice中间件、卓正软件的pageoffice控件、WebOffice控件、国外的Office Viewer ActiveX Control
    优点:
    可在线编辑等。
    缺点:
    1、客户端需安装控件。
    2、付费。
    3、在Html5、CSS3以及桌面向浏览器转换的大潮流下,控件已是昨日黄花。
    参考链接:
    http://www.kehansoft.com/soaoffice/index.htm
    http://www.zhuozhengsoft.com/
    http://www.officectrl.com/
    http://www.anydraw.com/

    五、微软的Office Web Apps

    微软新出的在线文档,与Google文档抗衡,估计没谷歌文档,微软也懒得出这个
    优点:
    微软自家的东西原生态呈现。
    缺点:
    需架设一台单独的服务器(可以是虚拟机),配置过低能安装,无法运行,另外还需一台域服务器。而这两台机器上均不能安装其它程序,比如SQLServer,在Office Web Apps服务器上每次重启IIS会重置,也就是说你不能有任何其它网站。
    参考链接:
    http://technet.microsoft.com/zh-cn/library/jj219456(v=office.15).aspx

    六、第三方成熟的服务

    如OfficeWeb365、idocv
    优点:
    1、OfficeWeb365采用的微软的Office Web Apps,idocv不详。
    2、接口简单,只是PHP、JSP、ASP.net等所有的对接,省心省力。
    3、费用低廉,节省投入。
    4、不用关心客户端是否安装了Office软件,不用在客户端部署。
    缺点:
    1、OfficeWeb365只能查看不能编辑,文档大小限制为10M,这也是Office Web Apps的文档限制大小,不过对于一般Office文件大小已绰绰有余。
    2、idocv的文档还原能力不强,格式无法完全还原,特别是在Excel与Powerpoint上面,但无文档大小限制。
    参考链接:
    http://www.officeweb365.com
    http://www.idocv.com

    七、在浏览器中直接打开

    通过设置MiME类型,告诉浏览器这是Office文件,浏览器直接调用本地Office或PDF软件打开
    优点:
    1、不用编程,不用第三方服务,直截了当。
    2、很多用户安装了Adobe的PDF预览软件,同时在浏览器上也直接安装了插件,浏览器可直接查看PDF文件。
    缺点
    你永远不知道客户机器上是否安装了Office软件,虽然几乎都安装了,但直接调用Office软件,客户体验大大下降,更何况还有个讨厌的迅雷一直在监视你的浏览器,不给你打开的机会,当然这些都是你无法预知的。

    八、其它

    如金山快写、一些网盘的预览
    参考链接:
    http://w.wps.cn/

    展开全文
  • 引言 之前项目需要,查找了...缺点:Office文档链接在浏览器中打开,会有如上图的提示,需用户自己选择打开或者保存功能,如果客户电脑上安装迅雷下载软件,会启动迅雷下载,用户体验不好。 方案二 office文档转ht

    引言

    之前项目需要,查找了office文档在线预览的解决方案,顺便记录一下,方便以后查询。

    方案一

    直接在浏览器中打开Office文档在页面上的链接。会弹出如下窗口:

     

    优点:主流浏览器都支持。

    缺点:Office文档链接在浏览器中打开,会有如上图的提示,需用户自己选择打开或者保存功能,如果客户电脑上安装迅雷下载软件,会启动迅雷下载,用户体验不好。

    方案二

    office文档转html,首先引入com组件中office库,然后在程序集扩展中引入word,excel,ppt的dll。

     

    然后F6生成,会报如下错误:

    解决办法:

    office文档转换html辅助类:

    Office2HtmlHelper
    Office2Html.aspx
    复制代码
     1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 using System.Web.UI; 6 using System.Web.UI.WebControls; 7  8 namespace Wolfy.OfficePreview 9 {10     public partial class Office2Html : System.Web.UI.Page11     {12         protected void Page_Load(object sender, EventArgs e)13         {14 15         }16         protected void btnWord_Click(object sender, EventArgs e)17         {18             Button btn = sender as Button;19             switch (btn.CommandArgument)20             {21                 case "docx":22                     Office2HtmlHelper.Word2Html(MapPath("/Doc/分析某网站的SEO策略(外链篇).doc"), MapPath("/Html/"), "分析某网站的SEO策略(外链篇)");23                     break;24                 case "xlsx":25                     Office2HtmlHelper.Excel2Html(MapPath("/Excel/1994-2013北京市历年最低工资标准.xlsx"), MapPath("/Html/"), "1994-2013北京市历年最低工资标准");26                     break;27                 case "ppt":28                     Office2HtmlHelper.PPT2Html(MapPath("/PPT/23种设计模式详解.ppt"), MapPath("/Html/"), "23种设计模式详解");29                     break;30                 default:31                     break;32             }33         }34     }35 }
    复制代码

    测试结果:

    这里为了测试特找了含有图片的office文档,浏览正常:

     要求:机器需安装office,并且office环境是纯净的,所谓纯净就是不能有多个版本,lz曾经在电脑上安装过wps,被害苦了总是报如下错误:

    报这个错误,只能哭了,网上的关于00046的解决办法都尝试了,不行。然后不得不重新安装office,然后笑了。最好安装office完整版,因为原来装的不是完整版,不知道有没有这方面的原因,也没有测试,建议完整版。

    方案三

    office文档转PDF,PDF转swf,使用flexpaper+swftools实现在线浏览。

    在操作office2007时,需安装SaveAsPDFandXPS.exe ,安装成功后,如图所示:

    只有安装了SaveAsPDFandXPS.exe,程序操作office文档,才有office文档另存为pdf文件。office2010不需要安装了,内置有这个功能。

     核心代码:

    Office2PDFHelper
    Office2PDF
    Office2PDF.aspx

    测试结果:

     

    此方案office转pdf文件的过程的要求与方案二要求相同。

    pdf转换完成后,就可以将pdf转换为swf,使用flexpaper+swftools实现在线浏览了,可参考我之前的一篇文章:

    FlexPaper+SWFTool+操作类=在线预览PDF

    方案四

    office文档直接转换为swf,使用flexpaper+swftool实现在先浏览。

    office直接转换为swf,这里使用flashpaper来实现:

    FlashPaper是一个虚拟打印机,可将word文件直接转化成swf格式文件(.doc.xls .txt .pdf等文件都可以正常生成SWF格式)。

    这里只贴出核心代码:

    复制代码
     1 using System; 2 using System.Collections.Generic; 3 using System.Diagnostics; 4 using System.Linq; 5 using System.Web; 6 using System.Web.UI; 7 using System.Web.UI.WebControls; 8  9 namespace Wolfy.OfficePreview10 {11     public partial class Office2Swf : System.Web.UI.Page12     {13         protected void Page_Load(object sender, EventArgs e)14         {15 16         }17         protected void btnWord_Click(object sender, EventArgs e)18         {19             Button btn = sender as Button;20             switch (btn.CommandArgument)21             {22                 case "docx":23                     ConvertOffice2Swf(MapPath("/Doc/分析某网站的SEO策略(外链篇).doc"), MapPath("/SWF/分析某网站的SEO策略(外链篇).swf"));24                     break;25                 case "xlsx":26                     Office2PDFHelper.XLSConvertToPDF(MapPath("/Excel/1994-2013北京市历年最低工资标准.xlsx"), MapPath("/SWF/1994-2013北京市历年最低工资标准.swf"));27                     break;28                 case "ppt":29                     Office2PDFHelper.PPTConvertToPDF(MapPath("/PPT/23种设计模式详解.ppt"), MapPath("/SWF/23种设计模式详解.swf"));30                     break;31                 default:32                     break;33             }34         }35         /// <summary>36         /// office 转swf37         /// </summary>38         /// <param name="officePath">要转换的office文档路径</param>39         /// <param name="swfPath">转换后swf的路径</param>40         private void ConvertOffice2Swf(string officePath, string swfPath)41         {42             Process process = new Process();     //创建进程对象 43             ProcessStartInfo startInfo = new ProcessStartInfo();44             string paperroot = @"C:\Program Files\Macromedia\FlashPaper 2\FlashPrinter.exe";//这里是FlashPrinter的路径45             string docFile = officePath;46             string swfFile = swfPath;47             startInfo.FileName = paperroot;48             startInfo.Arguments = docFile + " -o " + swfFile;49             startInfo.UseShellExecute = false;     //不使用系统外壳程序启动 50             startInfo.RedirectStandardInput = false;   //不重定向输入 51             startInfo.RedirectStandardOutput = false;   //重定向输出 52             startInfo.CreateNoWindow = true;     //不创建窗口 53             process.StartInfo = startInfo;54             process.Start();   55             if (process != null)56                 process.Close();57            58         }59     }60 }
    复制代码

    鉴于测试时,flashpaper在将office文档转换为swf的时候,在使用flexpaper的浏览时,出现转换的内容为空,猜测:flexpaper能打开的swf文件与flashpaper转的swf文件不兼容。最后使用flashpaper将office文档转换为pdf,然后走方案三,pdf转swf的步骤。另外本地测试时,没问题。将项目部署在IIS上,不能浏览,出现卡死的情况,调试发现,文件太大,在office还没完全转换为pdf的情况下,swftool工具就去寻找pdf文件,出现错误。

    IIS上,无法浏览,查询网上解决方案,和权限这块有关,按照步骤设置了,未果,有点遗憾。

    方案五

    使用点聚公司的weboffice控件,测试后发现兼容性较差,放弃。有兴趣的可以研究一下。

    方案六

    office转pdf后,直接浏览器打开,此方案鉴于目前主流浏览器都集成adobe reader功能,可实现直接打开PDF文件。将pdf文件链接可直接打开。

    必要条件:本地需安装adobe reader类似软件。

    方案七

    http://blogs.office.com/2013/04/10/office-web-viewer-view-office-documents-in-a-browser/

    总结

    鉴于项目情况选择一个适合的方案,其中有方案只是曲线救国,但是同样能达到要求。如果您觉得对你有所帮助,不妨推荐一下,让更多的人都能看到,谢谢你能看到文章最后。

    参考文章:

    http://www.cnblogs.com/expectszc/archive/2012/04/04/2432149.html

    http://www.cnblogs.com/lexlin/articles/2478027.html

    http://www.cnblogs.com/gossip/p/3473024.html

    http://www.cnblogs.com/expectszc/archive/2012/04/04/2432149.html

    博客地址: http://www.cnblogs.com/wolf-sun/
    博客版权: 本文以学习、研究和分享为主,欢迎转载,但必须在文章页面明显位置给出原文连接。
    如果文中有不妥或者错误的地方还望高手的你指出,以免误人子弟。如果觉得本文对你有所帮助不如【推荐】一下!如果你有更好的建议,不如留言一起讨论,共同进步!
    再次感谢您耐心的读完本篇文章。
    展开全文
  • 引言 ...缺点:Office文档链接在浏览器中打开,会有如上图的提示,需用户自己选择打开或者保存功能,如果客户电脑上安装迅雷下载软件,会启动迅雷下载,用户体验不好。 方案二 office文档转ht...
  • https 证书工具 Letsencrypt 简单教程

    万次阅读 2018-09-03 20:01:33
    https取代http是大势所趋,https的好处本文不在赘述,很多公司和机构都在推进这一进程,Apple公司甚至规定,iOS上的App应用必须使用https。因此,正是受到Apple的限制,我们的站点,几乎是所有的站点,接近上百个,...
  • 其实生活中不乏很多需要从数据库向excel导入...Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。 其实可以把它理解为Java和Microsoft之间互相沟通的一...
  • Linux(Ubuntu)下使用OneNote

    万次阅读 多人点赞 2017-12-17 20:16:28
    开始学习ROS,学习遇到问题想要记录,原来Office套件不支持Linux, 大坑一: 搜了很久,看到的无外乎以下几种: ---------------------------------------------------------------------------------------------...
  • 前端发展历程与技术应用概述

    千次阅读 2019-07-07 15:11:06
    随着web2.0时代的到来,前端在web开发中所占的比重越来越大,专注于内容呈现和网站交互的前端开发人员也逐渐展现出其不可替代性。前端所涉及的领域甚至不限于web应用,如HTML5技术允许我们开发原生的移动应用;React...
  • 历时数月,RDIFramework.NET V2.8版本发布了,感谢大家的支持。  RDIFramework.NET,基于.NET的快速...框架采用目前最主流的C#语言开发完成,支持多种数据库类型,支持WinForm与Web使用RDIFramework.NET能提高管理
  • vs2008 开启大型项目(特别是有第三方插件或自定义控件卡死,打开设计页面卡死,度娘上那些全部试过包括指定office的设计dll,重新修复安装之类,都没用,后面偶然发现是vs内置web浏览器加载网页导致 如上图所...
  • Linux下使用云笔记及OneNote

    万次阅读 2019-06-18 21:59:23
    Linux下使用云笔记及OneNote https://blog.csdn.net/yjy728/article/details/70162773 2017年04月13日 22:22:20明年暑假升初中阅读数 33731标签:rosOneNote笔记onedriveubuntu更多 个人分类:Linux 版权声明:...
  • 引言 之前项目需要,查找了...缺点:Office文档链接在浏览器中打开,会有如上图的提示,需用户自己选择打开或者保存功能,如果客户电脑上安装迅雷下载软件,会启动迅雷下载,用户体验不好。 方案二 office文档转ht
  • K/3主控台【系统设置】的【信息服务配置】窗口,;...备注:客户端操作配置邮件服务器,不要修改【计划任;1.22BOS数据交换平台实现基础资料增量导出的;适用版本:K/3V12.1.0WISE;问题表现:【BOS数据交换平台】如何...
  • 1、K/3 环境 1.1 如何确认数据服务部件是否安装 适用版本: K/3 V11.0.1 问题表现: 如何判断数据服务部件是否安装? 娄底金蝶软件解答: 只有安装了数据服务部件才会存在 pkdac.exe 文件,默认路径为 C:\...
1 2 3 4 5 6
收藏数 120
精华内容 48
关键字:

weboffice使用时卡死浏览器