ms word - C# convert .doc to .htm

本文关键字:doc to htm convert word ms | 更新日期: 2023-09-27 17:54:38

我正试图将。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格式,并总是发现代码有点类似于上述。

但是我一直得到这个异常:

为CLSID为{000209FF-0000-0000-C000-000000000046}的组件检索COM类工厂失败,原因是以下错误:80040154类未注册(异常来自HRESULT: 0x80040154 (regdbe_classnotreg))。

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

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

ms word - C# convert .doc to .htm

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

然而,第二个问题是授权。您需要为使用MS Office的每个用户提供许可证。所以,如果你想在互联网上使用它,你将有严重的财务问题。

有几个库可以打开(保存,转换等…)MS Office格式,无需安装MS Office。我曾经使用过Aspose库,但还有其他几个。

由于COM对象未配置为允许aspnet用户身份的启动和访问权限,您得到了此异常。最好将应用程序池标识用户更改为"网络服务",它有足够的权限来执行COM+组件。

查看更多详细信息