asp.net中Word转Html的办法(不需要WORD组件)
更新时间:2013年04月17日 11:20:07 作者:
最近碰到一个需求,在文本编辑器中实现“Word导入”功能 发现了几种方法,只是作为总结使用
基本思路:
把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='https://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='https://www.jb51.net/CWolf/archive/2011/09/30/为 <img src='+图片虚拟路径)
优点:不需要安装微软Office组件,只需要一个差不多2M的DLL 就可以完成此功能
缺点:Aspose并不是一个开源的组件,国内虽然有破解版,也可反编译后自己进行更改,但是版权问题确实是要考虑的因素
还有一些第三方的其他的项目,大部分是收费的,在此就不一一列举了
相关文章
理解HttpHandler,并为所有*.jpg图片生成一段文字于图片上
HttpHandler就是最终相应HTTP请求,生成HTTP响应的处理器,他们的实例由asp.net运行时创建,,并生存在asp.net的运行时环境中,如果asp.net运行时是处理请求的工厂,HttpHandler是处理请求的工人2012-03-03Entity Framework使用Fluent API配置案例
本文详细讲解了Entity Framework使用Fluent API配置案例的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2022-03-03对GridView的行加颜色并弹出Kindeditor的实现思路
本文主要详细介绍下对GridView的行加颜色并弹出Kindeditor,感兴趣的朋友可以了解下,希望可以帮助到你2013-04-04AspNetPager分页控件UrlRewritePattern参数设置的重写代码
AspNetPager分页控件UrlRewritePattern参数设置的重写代码,需要的朋友可以参考一下2013-02-02Windows虚拟主机与VPS如何实现301重定向(asp.net)
301重定向应该是研究SEO必须掌握的技术。如果你是刚接触SEO的菜鸟,想了解什么是301重定向,请看《html实现301重定向的方法》一文,我在该篇随笔中引用了Google网站站长工具对301重定向的解释2011-12-12
最新评论