C#把Word文档转换成HTML

C#Word文档转换成HTML

目前做的OA项目中有一个信息处理的模块,其中要将Word文档转换成HTML.

 

利用Microsoft Word 10.0 Object Library可以在页面中对Word文档进行格式转换。有关Word对象的一些方法可以参考OpenSave

 

在开始之前首先要在解决方案资源管理器引用文件夹上单击鼠标右键添加引用:

 

Microsoft Word 10.0 Object Library

 

下面是进行转换的源代码[C#]

 

using System;

 

using System.Drawing;

 

using System.Collections;

 

using System.ComponentModel;

 

using System.Windows.Forms;

 

using System.Data;

 

 

namespace  WordToHtml

 

{

 

     ///

 

     /// WordToHtml 的摘要说明。

 

     ///

 

     public class Form1 : System.Windows.Forms.Form

 

     {

 

         private System.Windows.Forms.Button btnWordToHtml;

 

         ///

 

         /// 必需的设计器变量。

 

         ///

 

         private System.ComponentModel.Container components = null;

 

 

         public Form1()

 

         {

 

              //

 

              // Windows 窗体设计器支持所必需的

 

              //

 

              InitializeComponent();

 

 

              //

 

              // TODO: 在 InitializeComponent 调用后添加任何构造函数代码

 

              //

 

         }

 

 

         ///

 

         /// 清理所有正在使用的资源。

 

         ///

 

         protected override void Dispose( bool disposing )

 

         {

 

              if( disposing )

 

              {

 

                   if (components != null)

 

                   {

 

                       components.Dispose();

 

                   }

 

              }

 

              base.Dispose( disposing );

 

         }

 

 

         #region Windows 窗体设计器生成的代码

 

         ///

 

         /// 设计器支持所需的方法 - 不要使用代码编辑器修改

 

         /// 此方法的内容。

 

         ///

 

         private void InitializeComponent()

 

         {

 

              this.btnWordToHtml = new System.Windows.Forms.Button();

 

              this.SuspendLayout();

 

              //

 

              // btnWordToHtml

 

              //

 

              this.btnWordToHtml.Location = new System.Drawing.Point(144, 104);

 

              this.btnWordToHtml.Name = "btnWordToHtml";

 

              this.btnWordToHtml.TabIndex = 0;

 

              this.btnWordToHtml.Text = "WordToHtml";

 

              this.btnWordToHtml.Click += new System.EventHandler(this.btnWordToHtml_Click);

 

              //

 

              // Form1

 

              //

 

              this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);

 

              this.ClientSize = new System.Drawing.Size(344, 294);

 

              this.Controls.Add(this.btnWordToHtml);

 

              this.Name = "Form1";

 

              this.Text = "Form1";

 

              this.ResumeLayout(false);

 

 

         }

 

         #endregion

 

 

         ///

 

         /// 应用程序的主入口点。

 

         ///

 

         [STAThread]

 

         static void Main()

 

         {

 

              Application.Run(new Form1());

 

         }

 

 

         private void btnWordToHtml_Click(object sender, System.EventArgs e)

 

         {

 

            Word.ApplicationClass appClass = new Word.ApplicationClass();

 

            Type wordType = appClass.GetType();

 

            Word.Documents docs = appClass.Documents;

 

             //打开文件

 

              Type docsType = docs.GetType();

 

              object fileName = "C://程序人生.doc";

 

              Word.Document doc = (Word.Document)docsType.InvokeMember("Open",

 

System.Reflection.BindingFlags.InvokeMethod,null,docs,new Object[]{fileName,true,true});

 

              // 转换格式,另存为

 

              Type docType = doc.GetType();

 

              object saveFileName = "C://程序人生.html";

 

           docType.InvokeMember("SaveAs",System.Reflection.BindingFlags.InvokeMethod,null,

 

              doc,new object[]{saveFileName,Word.WdSaveFormat.wdFormatFilteredHTML});

 

         //如果是Microsoft Word 9.0 Object Library的写法,可能写成:

 

         //docType.InvokeMember("SaveAs", System.Reflection.BindingFlags.InvokeMethod, null,

 

         //doc, new object[]{saveFileName, Word.WdSaveFormat.wdFormatHTML});

 

 

         // 退出 Word

 

              wordType.InvokeMember("Quit", System.Reflection.BindingFlags.InvokeMethod, null, appClass, null);

 

         }

 

     }

 

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(技术文档,文档,c#,microsoft,object,components,library)