asp.net中Word转Html的办法(不需要WORD组件)
程序员文章站
2024-03-02 09:14:22
基本思路:把word文件上传到服务器,读取其内容存储为html,然后加载html内容1:使用microsoft.office.interop.word组件 &nb...
基本思路:
把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并不是一个开源的组件,国内虽然有破解版,也可反编译后自己进行更改,但是版权问题确实是要考虑的因素
还有一些第三方的其他的项目,大部分是收费的,在此就不一一列举了
上一篇: PHP数组操作简单案例分析
下一篇: 你女朋友值多少钱? 生活游戏Blog