asp.net中Word转Html的办法(不需要WORD组件)
2013-04-17 11:20
691 查看
基本思路:
把Word文件上传到服务器,读取其内容存储为Html,然后加载Html内容
1:使用Microsoft.Office.Interop.Word组件
这是比较常用的一种方式,代码就不贴出了,网上大把的例子
缺点:服务器需要装Word的组件,并且需要在服务器上设置Docm+对象的权限,如果一台服务器还好,如果项目应用到多台不同服务器,就比较繁琐了
2: OpenXml API
可以将.docx(word 97-2003 不适用)转化为XML,有了XML,想转成HTML或是其他格式都不再是问题了,此Api需要 .net FreamWork3.5+ Office2007+
3:第三方:例如Aspose.Words(已测试,推荐)
Aspose提供了各种格式的转换方案,有兴趣的可以进去仔细看一下,.NET Java方向的都有,采用其中Aspose.Words这个Dll,无需安装微软Office组件 即可转换Word(Converting DOC,DOCX to HTML without MS Office Word in .Net)
复制代码 代码如下:
Aspose.Words.Document d = new Aspose.Words.Document(wordPhysicalPath);
d.Save("d:\\1.html", SaveFormat.Html);
即可存为HTML文档(注意Word里面的图片存储在和Html同级目录下,读取Html内容时需要替换<img src='//www.jb51.net/CWolf/archive/2011/09/30/为 <img src='+图片虚拟路径)
优点:不需要安装微软Office组件,只需要一个差不多2M的DLL 就可以完成此功能
缺点:Aspose并不是一个开源的组件,国内虽然有破解版,也可反编译后自己进行更改,但是版权问题确实是要考虑的因素
还有一些第三方的其他的项目,大部分是收费的,在此就不一一列举了
把Word文件上传到服务器,读取其内容存储为Html,然后加载Html内容
1:使用Microsoft.Office.Interop.Word组件
这是比较常用的一种方式,代码就不贴出了,网上大把的例子
缺点:服务器需要装Word的组件,并且需要在服务器上设置Docm+对象的权限,如果一台服务器还好,如果项目应用到多台不同服务器,就比较繁琐了
2: OpenXml API
可以将.docx(word 97-2003 不适用)转化为XML,有了XML,想转成HTML或是其他格式都不再是问题了,此Api需要 .net FreamWork3.5+ Office2007+
3:第三方:例如Aspose.Words(已测试,推荐)
Aspose提供了各种格式的转换方案,有兴趣的可以进去仔细看一下,.NET Java方向的都有,采用其中Aspose.Words这个Dll,无需安装微软Office组件 即可转换Word(Converting DOC,DOCX to HTML without MS Office Word in .Net)
复制代码 代码如下:
Aspose.Words.Document d = new Aspose.Words.Document(wordPhysicalPath);
d.Save("d:\\1.html", SaveFormat.Html);
即可存为HTML文档(注意Word里面的图片存储在和Html同级目录下,读取Html内容时需要替换<img src='//www.jb51.net/CWolf/archive/2011/09/30/为 <img src='+图片虚拟路径)
优点:不需要安装微软Office组件,只需要一个差不多2M的DLL 就可以完成此功能
缺点:Aspose并不是一个开源的组件,国内虽然有破解版,也可反编译后自己进行更改,但是版权问题确实是要考虑的因素
还有一些第三方的其他的项目,大部分是收费的,在此就不一一列举了
您可能感兴趣的文章:
相关文章推荐
- asp.net中Word转Html的办法(不需要WORD组件)
- asp.net中Word转Html的办法(不需要WORD组件)
- Asp.net使用Aspose.Words 组件生成Word
- Asp.NET 操作 Excel 组件时遇到“ System.UnauthorizedAccessException: 拒绝访问。”的解决办法
- 也谈使用ASP.NET上传Word文件至服务器,并转成HTML。
- asp.net组件(2):override Render use HtmlTextWriter
- Asp.Net 连接Oracle数据库 出现"找到 Oracle 客户端和网络组件" 的解决方法!(在win2003 ntfs 下IIS发布只显示登陆界面 不进入系统解决办法)
- Asp.net MVC @Html.DisplayNameFor中文乱码解决办法
- asp.net中word转html碰到的问题及解决
- ASP.Net调用Word,Excel组件服务之说明
- Dynamic Generation of Word Document Report in ASP.NET with HTML
- asp.net中输入文本的html解析办法
- asp.net中输入文本的html解析办法
- ASP.NET中用户输入文本的HTML解析办法(转载)
- ASP.NET中用户输入文本的HTML解析办法
- asp.net导出数据到execl并保存到本地 不需要调用Office组件
- ASP.Net调用Word,Excel组件服务之说明
- Asp.Net MVC Html.TextBoxFor日期格式化出错“模板只能用于字段访问、属性访问、一维数组索引或单参数自定义索引器表达式” 解决办法
- js_html_input中autocomplete="off"在chrom中失效的解决办法 使用JS模拟锚点跳转 js如何获取url参数 C#模拟httpwebrequest请求_向服务器模拟cookie发送 实习期学到的技术(一) LinqPad的变量比较功能 ASP.NET EF 使用LinqPad 快速学习Linq
- ASP.NET中用户输入文本的HTML解析办法