• 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;
            }
        }
    }

  • 相关阅读:
    Toad 常用快捷键
    Oracle Form删除list项
    不得重新使用的登录口令
    OE_ORDER_PUB.PROCESS_ORDER to Release a hold on sales order in R12
    OE_ORDER_PUB.PROCESS_ORDER to Apply hold on a sales order
    说明性弹性域段
    使用VPD解决EBS中信息屏蔽问题
    Oracle EBS客户化程序中格式化金额
    Form开发中组件控制的几个常用方法
    .Net的差评
  • 原文地址:https://www.cnblogs.com/xiaowei3632/p/9144001.html
Copyright © 2020-2023  润新知