簡體   English   中英

C# 將.doc轉換為.htm

[英]C# convert .doc to .htm

我正在嘗試將 .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);

我曾嘗試用谷歌搜索將 convert.doc ( even.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 對象不是一個好主意。 第一個問題是技術問題——進程有幾個陷阱(即有時調用 Quit() 后 excel/word 不會退出)。 這並不容易,但它是可以解決的。

然而,第二個問題是許可。 您需要為每個將使用 MS Office 的用戶提供許可證。 因此,如果您想在 Internet web 上使用它,您將遇到嚴重的財務問題。

有幾個庫可以在沒有安裝 MS Office 的情況下打開(保存、轉換等)MS Office 格式。 我曾經使用過 Aspose庫,但還有其他幾個。

您收到此異常,因為 COM object 未配置為允許 aspnet 用戶身份的啟動和訪問權限。 最好將應用程序池標識用戶更改為“網絡服務”,它有足夠的權限來執行 COM+ 組件。

有關更多詳細信息, 請查看此

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM