zoukankan      html  css  js  c++  java
  • word转换成html的方法

          之前用到了word转换成HTMl的做法,网上找过一段类似的代码,后发现好多不能执行,调试了半天才最终搞定。

           方法接参数是word文件路径。 执行这样的代码,需要添加 Microsoft.Office.Interop.Word.dll引用。

            /// <summary>
    /// Word转换为HTML
    /// </summary>
    /// <param name="path"></param>
    private string WordToHTMl(ref string path)
    {
    string pageUrl = null;

    object fltDocFormat = 10; //For filtered HTML Output
    object missing = System.Reflection.Missing.Value;
    object readOnly = false; //Open file in readOnly mode
    object isVisible = false;//The process has to be in invisible mode
    object fileName = path;

    //获取网站服务器端的路径
    string newPath = System.Web.HttpContext.Current.Server.MapPath("/ConvertFiles/");
    string newFileName = System.IO.Path.GetFileNameWithoutExtension(fileName.ToString());
    object saveFileName = newPath + savePath + newFileName + ".html";

    //判断文件是否被转换
    if (!System.IO.File.Exists(SaveFileName))
    {

    Microsoft.Office.Interop.Word.ApplicationClass objWord = new Microsoft.Office.Interop.Word.ApplicationClass();
    //打开word文档
    objWord.Documents.Open(ref fileName, ref readOnly, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref isVisible, ref missing, ref missing, ref missing, ref missing, ref missing);
    //Do the background activity
    objWord.Visible = false;
    Microsoft.Office.Interop.Word.Document oDoc = objWord.ActiveDocument;

    oDoc.SaveAs(ref saveFileName, ref fltDocFormat, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);
    oDoc.Close(ref missing, ref missing, ref missing);
    objWord.Quit(ref missing, ref missing, ref missing);
    //Process[] myProcesses = Process.GetProcessesByName("WINWORD");
    //foreach (Process myProcess in myProcesses)
    //{
    // myProcess.Kill();
    //}

    // string pageUrl = newFileName + ".html";
    // System.Web.HttpContext.Current.Server.Transfer(pageUrl);
    }

    else
    {
    //页面路径
    pageUrl = IpPath + FileName + ".html";

    }
    return pageUrl;


    }
  • 相关阅读:
    NC13950 Alliances(LCA)
    NC13884 Paint Box(容斥原理)
    Gym102174B 炼金术(AC自动机)
    CF301D Yaroslav and Divisors(树状数组)
    CF1443D Extreme Subtraction(思维)
    Gym102174L 旅行的意义(期望dp)
    Gym102220F Mini-game Before Contest(博弈论)
    Gym102220D Master of Data Structure (虚树)
    用random.simple来解决从0-99这100个数中随机取10个不重复的数
    一个栈的输入序列为1,2,3,4,5,则下列序列中不可能是栈的输出序列的是()
  • 原文地址:https://www.cnblogs.com/xiaoyao2011/p/2185125.html
Copyright © 2011-2022 走看看