Asp.net allows you to browse word documents online (word to html)
Recently, I am engaged in online browsing of word documents. After finding various methods and controls, I will go back to word to HTML for online browsing ....
The following is the background code, which is the default code for the front-end html page.
Because the file is as follows:
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;
If the component is not referenced, an error is reported here, such as Interop cannot be found,
In this case, you need to reference Microsoft. Office. Interop. Visio, Microsoft. Office. Interop. Word under the. net Component in the reference.
The background code is as follows:
Protected void Page_Load (object sender, EventArgs e) {string relativePath = Request. QueryString ["FilePath"]; // relative path, which is obtained from the jump page. If (relativePath = "" | relativePath = null) return; string serverPath = Server. mapPath (relativePath); // corresponding path to the server to convert string html = serverPath. replace (". doc ",". html "); if (! File. exists (@ html) // The html page does not exist. convert word to html {string filename = WordToHtml (serverPath); StreamReader fread = new StreamReader (filename, System. text. encoding. getEncoding ("gb2312"); string ss = fread. readToEnd (); Response. write (ss); // directly Write a string to the webpage and you will find that the text is displayed, and images and tables cannot be displayed. Therefore, you can redirect to the html file page later. Fread. close (); fread. dispose ();} html = relativePath. replace (". doc ",". html "); // The html file is also stored in the same path. // you only need to change the suffix of the original path to get the html file path Response. redirect (html); return ;}////// Convert word to html //////Private string WordToHtml (object wordFileName) {// place the user code here to initialize the page Word. application word = new Word. application (); Type wordType = word. getType (); Word. required ents docs = word. documents; // open the file Type docsType = docs. getType (); Word. document doc = (Word. document) docsType. invokeMember ("Open", System. reflection. bindingFlags. invokeMethod, null, docs, new Object [] {wordFileName, true, true}); // convert the format and save it as 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); // exit Word wordType. invokeMember ("Quit", System. reflection. bindingFlags. invokeMethod, null, word, null); return saveFileName. toString ();}