zoukankan      html  css  js  c++  java
  • word文件转html字符串(包涵格式和图片)

    新项目客户有需求,用word编辑新闻,上传到服务器并显示到富文本编辑器,编辑后保存为html格式的文本。实现如下:

    首先引用 Microsoft.Office.Interop.Word.dll(需要安装office软件并设置组件服务,否则会报拒绝访问错误)

    转换方法:

    using System;
    using System.Text;
    using MSWord = Microsoft.Office.Interop.Word;
    using System.IO;
    using System.Reflection;


    namespace ReadWord
    {
        public class GetHtmlString
        {
            /// <summary>
            /// word转html字符串   --Will.Wang
            /// </summary>
            /// <param name="wordPath">word文件绝对路径</param>
            /// <returns>html字符串</returns>
            public static string GetProceHtmlString(String wordPath)
            {
                string htmlPath = GetHtml(wordPath);
                string htmlString = ProceHtmlString(htmlPath);
                return htmlString;
            }
            /// <summary>
            /// word转html并返回html文件地址
            /// </summary>
            /// <returns></returns>
            private static string GetHtml(Object path)
            {

                MSWord.Application wordApp;
                MSWord.Document wordDoc;
                Object Nothing = Missing.Value;

                wordApp = new MSWord.Application();
                wordDoc = wordApp.Documents.Add(ref path, ref Nothing, ref Nothing, ref Nothing);

                object format = MSWord.WdSaveFormat.wdFormatFilteredHTML;
                Object newPath = path.ToString().Substring(0, path.ToString().LastIndexOf('.'))+".html";//html文件路径

                wordDoc.SaveAs(ref newPath, ref format, ref Nothing, ref Nothing, ref Nothing,
                    ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing,
                    ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing);

                wordDoc.Close(ref Nothing, ref Nothing, ref Nothing);
                wordApp.Quit(ref Nothing, ref Nothing, ref Nothing);

                return newPath.ToString();
            }


            /// <summary>
            /// 读取html字符串
            /// </summary>
            /// <param name="htmlPath"></param>
            /// <returns></returns>
            private static string ProceHtmlString(String htmlPath)
            {
                FileStream fs = new FileStream(htmlPath, FileMode.OpenOrCreate, FileAccess.Read);
                StreamReader sr = new StreamReader(fs, Encoding.Default);
                string htmlString = sr.ReadToEnd();

                sr.Close();
                fs.Close();
                return htmlString;
            }
        }
    }

  • 相关阅读:
    vue 重定向
    vue 通过插槽分发内容
    vue 表单输入绑定 checkbox
    jq enter键发送
    vue footer点击变色
    vue computed和methods 计算属性和侦听器
    实时监听input输入情况
    关于Input输入框蓝色外框的操作
    鼠标悬浮指针变手
    鼠标悬浮样式
  • 原文地址:https://www.cnblogs.com/xiaowei3632/p/9144001.html
Copyright © 2011-2022 走看看