-1

我想在 C#中转换.doc为。.htm如果我使用Microsoft.Office.Interop.Word我会得到异常:

由于以下错误,检索具有 CLSID {000209FF-0000-0000-C000-000000000046} 的组件的 COM 类工厂失败:80040154 未注册类(HRESULT 异常:0x80040154 (REGDB_E_CLASSNOTREG))

有什么解决办法吗?

[可能重复的是:C# convert .doc to .htm,但它不能解决我的问题。]

4

2 回答 2

1

您可以做的是使用 3rd 方 dll 读取 doc/docx 文件,然后使用将数据写入 html 格式HtmlTextWriter

看看这个stackoverflow问题:

使用免费的第三方 dll 将 word 转换为 pdf

使用 C# 读取 doc 和 docx 文件,而无需在服务器上安装 MS Office

上述问题中提供的链接是:

对于 docx:

http://docx.codeplex.com/

http://msdn.microsoft.com/en-us/library/bb656295%28office.12%29.aspx

对于文档:

http://npoi.codeplex.com/

于 2013-04-02T12:14:16.633 回答
0

对象的 CLSID{000209FF-0000-0000-C000-000000000046}需要在注册表中。

互操作程序集是使用 MS Office 提供的 COM dll 的包装器。所以在某些层面你使用 COM,尽管它对你来说是透明的。

请检查您是否安装了 MS Office 的互操作程序。请参阅此链接http://msdn.microsoft.com/en-us/library/aa159923%28office.11 ​​%29.aspx 您可以检查您是否有互操作程序集安装了 MS Word。

于 2013-04-02T12:00:55.007 回答