gpt4 book ai didi

C# 将 .doc 转换为 .htm

转载 作者:行者123 更新时间:2023-11-30 12:16:13 29 4
gpt4 key购买 nike

我正在尝试将 .doc 文件转换为 .htm 格式以在 ASP.NET MVC 页面中查看。

我在 C# 中使用以下代码:

using Microsoft.Office.Core;
using Microsoft.Office.Interop.Word;

....

Microsoft.Office.Interop.Word.Application objWord = new Microsoft.Office.Interop.Word.Application();

object source = @"C:\Users\XYZ\Desktop\ScreenShot.doc";
object target = @"C:\Users\XYZ\Desktop\ScreenShot.html";
object unknown = Type.Missing;
objWord.Documents.Open(ref source, ref unknown,
ref unknown, ref unknown, ref unknown,
ref unknown, ref unknown, ref unknown,
ref unknown, ref unknown, ref unknown,
ref unknown, ref unknown, ref unknown, ref unknown);

object format = Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatRTF;
objWord.ActiveDocument.SaveAs(ref target, ref format,
ref unknown, ref unknown, ref unknown,
ref unknown, ref unknown, ref unknown,
ref unknown, ref unknown, ref unknown,
ref unknown, ref unknown, ref unknown,
ref unknown, ref unknown);

我曾尝试在谷歌上搜索将 .doc(甚至 .ppt)转换为 .htm 格式的方法,并且总能找到与上述代码有些相似的代码。

但我一直收到这个异常:

Retrieving the COM class factory for component with CLSID {000209FF-0000-0000-C000-000000000046} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).

在线:

Microsoft.Office.Interop.Word.Application objWord = new Microsoft.Office.Interop.Word.Application();

这是因为我安装的是 Word Starter 2010 而不是完整的 Office 2010,还是有其他解决方案?

最佳答案

在服务器端使用来自 MS Office 的 COM 对象不是一个好主意。第一个问题是技术性的——进程有几个陷阱(即有时 excel/word 在调用 Quit() 后不会退出)。这并不容易,但可以解决。

然而,第二个问题是许可。每个将使用 MS Office 的用户都需要许可证。因此,如果您想在互联网上使用它,您将面临严重的财务问题。

有几个库可以在没有安装 MS Office 的情况下打开(保存、转换等...)MS Office 格式。我曾与 Aspose 合作过一次库,但还有其他几个。

关于C# 将 .doc 转换为 .htm,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5850499/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com