将Word文档转化为HTML格式的文档

  • 来源: 互联网 作者: rocket   2008-03-17/14:04
  • 利用Word.Application提供的方法,可以很轻易地将Word文档转化为HTML等其它格式,下面就是实现的全部的代码:

    Visual C#

    WordToHtml.aspx

    <%@ Page language="c#" Codebehind="WordToHtml.aspx.cs" AutoEventWireup="false"
     Inherits="aspxWebcs.WordToHtml" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
    <HTML>
      <HEAD>
        <title>WordToHtml</title>
        <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
        <meta name="CODE_LANGUAGE" Content="C#">
        <meta name="vs_defaultClientScript" content="JavaScript">
        <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
      </HEAD>
      <body MS_POSITIONING="GridLayout">
        <form id="Form1" method="post" runat="server">
        </form>
      </body>
    </HTML>

    WordToHtml.aspx.cs

    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Web;
    using System.Web.SessionState;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;
    using Office;

    namespace aspxWebcs
    {
    /// <summary>
    /// WordToHtml 的摘要说明。
    /// 首先要添加引用:Microsoft Word 9.0 Object Library
    /// </summary>
    public class WordToHtml : System.Web.UI.Page
    {
     private void Page_Load(object sender, System.EventArgs e)
     {
      // 在此处放置用户代码以初始化页面
        Word.ApplicationClass word = new Word.ApplicationClass();
        Type wordType = word.GetType();
        Word.Documents docs = word.Documents;

        // 打开文件
        Type docsType = docs.GetType();
        object fileName = "d:\\tmp\\aaa.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 = "d:\\tmp\\aaa.html";
        //下面是Microsoft Word 9 Object Library的写法,如果是10,可能写成:
        //docType.InvokeMember("SaveAs", System.Reflection.BindingFlags.InvokeMethod,
         null, doc, new object[]{saveFileName, Word.WdSaveFormat.wdFormatFilteredHTML});
        ///其它格式:
        ///wdFormatHTML
        ///wdFormatDocument
        ///wdFormatDOSText
        ///wdFormatDOSTextLineBreaks
        ///wdFormatEncodedText
        ///wdFormatRTF
        ///wdFormatTemplate
        ///wdFormatText
        ///wdFormatTextLineBreaks
        ///wdFormatUnicodeText
        docType.InvokeMember("SaveAs", System.Reflection.BindingFlags.InvokeMethod,
         null, doc, new object[]{saveFileName, Word.WdSaveFormat.wdFormatHTML});

        // 退出 Word
        wordType.InvokeMember("Quit", System.Reflection.BindingFlags.InvokeMethod,
         null, word, null);
    }

    #region Web 窗体设计器生成的代码
    override protected void OnInit(EventArgs e)
    {
     //
     // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
     //
     InitializeComponent();
     base.OnInit(e);
    }

    /// <summary>
    /// 设计器支持所需的方法 - 不要使用代码编辑器修改
    /// 此方法的内容。
    /// </summary>
    private void InitializeComponent()
    {   
     this.Load += new System.EventHandler(this.Page_Load);
    }
     #endregion
    }
    }

     


    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多