asp.net 实现在线浏览word文档(word转html)
程序员文章站
2022-05-02 16:28:55
最近在做word文档在线浏览,找了种种方法、控件之后,回归到word转html,在线浏览....
一下是后台代码,前台html页面默认代码即可。
因为用文件如下:using system;
usi...
最近在做word文档在线浏览,找了种种方法、控件之后,回归到word转html,在线浏览....
一下是后台代码,前台html页面默认代码即可。
因为用文件如下:
using system; using system.collections.generic; using system.linq; using system.web; using system.web.ui; using system.web.ui.webcontrols; using system.io; using word = microsoft.office.interop.word;
using word = microsoft.office.interop.word;没有引用好时,此处会报错,找不到interop之类的,
这时需要在引用里面引用组件.net下的microsoft.office.interop.visio,microsoft.office.interop.word
后台代码如下:
protected void page_load(object sender, eventargs e) { string relativepath = request.querystring["filepath"]; //相对路径 ,从跳转页面得到文件相对路径。 if (relativepath == "" || relativepath==null) return; string serverpath = server.mappath(relativepath); //相对转服务器对应路径 string html = serverpath.replace(".doc", ".html"); if (!file.exists(@html)) //html页面不存在,把word转换成html { string filename = wordtohtml(serverpath); streamreader fread = new streamreader(filename, system.text.encoding.getencoding("gb2312")); string ss = fread.readtoend(); response.write(ss); //直接写字符串到网页会发现,文字可显示,图片、表格无法显示。因此在后面重跳转到html文件页面。 fread.close(); fread.dispose(); } html = relativepath.replace(".doc", ".html"); //html文件也存储在同样的路径下, //只需要改了原路径的后缀即可得到html文件路径 response.redirect(html); return; } /// /// word转成html /// /// private string wordtohtml(object wordfilename) { //在此处放置用户代码以初始化页面 word.application word = new word.application(); type wordtype = word.gettype(); word.documents docs = word.documents; //打开文件 type docstype = docs.gettype(); word.document doc = (word.document)docstype.invokemember("open", system.reflection.bindingflags.invokemethod, null, docs, new object[] { wordfilename, true, true }); //转换格式,另存为 type doctype = doc.gettype(); string wordsavefilename = wordfilename.tostring(); string strsavefilename = wordsavefilename.substring(0, wordsavefilename.length - 3) + "html"; object savefilename = (object)strsavefilename; doctype.invokemember("saveas", system.reflection.bindingflags.invokemethod, null, doc, new object[] { savefilename, word.wdsaveformat.wdformatfilteredhtml }); doctype.invokemember("close", system.reflection.bindingflags.invokemethod, null, doc, null); //退出 word wordtype.invokemember("quit", system.reflection.bindingflags.invokemethod, null, word, null); return savefilename.tostring(); }
推荐阅读
-
php实现word转html的方法
-
Python实现批量将word转html并将html内容发布至网站的方法
-
C#实现HTML转WORD及WORD转PDF的方法
-
Java实现Word/Pdf/TXT转html
-
Asp.net实现直接在浏览器预览Word、Excel、PDF、Txt文件(附源码)
-
JS实现获取word文档内容并输出显示到html页面示例
-
ASP.NET Core 2.0集成Office Online Server(OWAS)实现办公文档的在线预览与编辑(支持word\excel\ppt\pdf等格式)
-
C# 基于NPOI+Office COM组件 实现20行代码在线预览文档(word,excel,pdf,txt,png)
-
asp.net 实现在线浏览word文档(word转html)
-
ASP.NET下Word文档的在线编辑、保存和全文关键字搜索的完整示例 ASP.NETWord文档在线编辑保存完整示例