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

一个有用的例子,可以用在Notification模块中:

利用Word.Application提供的方法,可以很轻易地将Word文档转化为HTML等其它格式,下面就是实现的关键代码:

<!--StartFragment-->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);
}

posted on 2004-05-27 11:38  BB Programming  阅读(638)  评论(0)    收藏  举报

导航