html另存为word文档,通过Office API将多个Word文档另存为HTML

这篇博客讨论了如何利用Microsoft Office/Word API批量将Word文档(包括.doc和.docx)转换为HTML。作者提供了一段C#代码示例,通过创建Word应用程序实例并调用SaveAs方法来实现转换。此方法可能适用于需要处理大量相同模板Word文档的场景。
摘要由CSDN通过智能技术生成

我需要解析大量的Word文档。由于它们都是从同一个模板创建的,我认为最好的方法是将它们保存为HTML文件并解析HTML本身。

虽然将单个Word文档保存为HTML非常容易,但我还没有找到从Word内部执行批量过程的方法。因此,我正试图找到一种方法来利用Microsoft Office / Word API来实现这一目标。

如何使用Word API将许多Word文档另存为HTML?

提前致谢。

更新:更多细节......

某些文档的扩展名为.doc,而其他文档为.docx。我希望这不是问题,但如果是,我只需要将它们全部转换为.docx,希望使用API​​或DocX。

说到DocX,我saw on the author's blog可以使用以下代码将.docx文件保存为HTML:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using Word = Microsoft.Office.Interop.Word;

using Microsoft.Office.Interop.Word;

namespace ConsoleApplication1

{

class Program

{

static void Main(string[] args)

{

// Convert Input.docx into Output.doc

Convert(@"C:\users\cathal\Desktop\Input.docx", @"c:\users\cathal\Desktop\Output.doc", WdSaveFormat.wdFormatDocument);

/*

* Convert Input.docx into Output.pdf

* Please note: You must have the Microsoft Office 2007 Add-in: Microsoft Save as PDF or XPS installed

* http://www.microsoft.com/downloads/details.aspx?FamilyId=4D951911-3E7E-4AE6-B059-A2E79ED87041&displaylang=en

*/

Convert(@"c:\users\cathal\Desktop\Input.docx", @"c:\users\cathal\Desktop\Output.pdf", WdSaveFormat.wdFormatPDF);

// Convert Input.docx into Output.html

Convert(@"c:\users\cathal\Desktop\Input.docx", @"c:\users\cathal\Desktop\Output.html", WdSaveFormat.wdFormatHTML);

}

// Convert a Word 2008 .docx to Word 2003 .doc

public static void Convert(string input, string output, WdSaveFormat format)

{

// Create an instance of Word.exe

Word._Application oWord = new Word.Application();

// Make this instance of word invisible (Can still see it in the taskmgr).

oWord.Visible = false;

// Interop requires objects.

object oMissing = System.Reflection.Missing.Value;

object isVisible = true;

object readOnly = false;

object oInput = input;

object oOutput = output;

object oFormat = format;

// Load a document into our instance of word.exe

Word._Document oDoc = oWord.Documents.Open(ref oInput, ref oMissing, ref readOnly, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref isVisible, ref oMissing, ref oMissing, ref oMissing, ref oMissing);

// Make this document the active document.

oDoc.Activate();

// Save this document in Word 2003 format.

oDoc.SaveAs(ref oOutput, ref oFormat, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing);

// Always close Word.exe.

oWord.Quit(ref oMissing, ref oMissing, ref oMissing);

}

}

}

这是最好的方法吗?

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值