「如何透過 Aspose.Words 使用 .NET 的 COM Interop」

此主題中的資訊適用於你想透過 Aspose.Words 使用 .NET 的任何以下程式設計語言的場景:“COM Interop

  • ASP
  • Delphi (Example) “- JScript”
  • Perl
  • PHP 「- PowerBuilder」
  • Python “- VBScript”
  • Visual Basic

與 COM Interop 一起工作

「Aspose.Words for .NET 在 .NET Framework 的控制下執行,這稱為管理程式碼。」 「以上述語言撰寫的程式碼會運行在 .NET Framework 之外,被稱為非管理程式碼。」 「未管理的程式碼與 Aspose.Words 之間的互動透過名為 COM 的 .NET 功能發生在 Interop。」

「Aspose.Words 個物件是 .NET 物件,但透過 COM Interop 使用時,它們會作為 COM 物件出現在你的程式語言中。」 「因此,最好先確保你知道如何在你的編程語言中創造和使用 COM 物件,然後再開始使用 Aspose.Words。」

以下是你將最終需要掌握的話題:

「以 Aspose.Words 在 .NET 中註冊 COM Interop」

「在 installation Aspose.Words for .NET 之後,您需要使用 regasm.exe 工具為 Aspose.Words 註冊 COM Interop。」

regasm.exe是一個包含在 .NET Framework SDK 的工具。」 .NET Framework SDK 工具都位於 %windir%\Microsoft .NET\Framework\<FrameworkVersion>\ 目錄,例如 C:\Windows\Microsoft.NET\Framework\v4.0.30319

要取得 tlb 檔案,請在cmd中執行 C:\Windows\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe <installdir>\lib\net40-client\Aspose.Words.dll /tlb /codebase,其中 <installdir>為您安裝 Aspose.Words 的目錄,通常為 %USERPROFILE%\.nuget\packages\aspose.words\

「與 Aspose.Words 透過 COM Interop 合作」

ProgIDs

ProgID stands for “programmatic identifier”, it is a name of a {0} class that you need to use in order to create an object.

「目前,Aspose.Words定義了四個公開可創作的 COM 物件。」 他們的 ProgIDs are:

“- ComHelper” 「- 文檔」 “- DocumentBuilder” 「- 許可證」

「第 ProgIDs consist of the library name ("{0}") and the class name。」

類型圖書館

「在安裝時,Aspose.Words.tlb (COM 型式程式庫) 被複製到您的電腦中:」

-Для .NET Framework 4.0 до \lib\net40-client

如果您的編程語言(例如Visual Basic或Delphi)允許您參考COM類庫,那麼添加對Aspose.Words.tlb的參考,您將能夠在對象檢視器中看到所有Aspose.Words類、方法、屬性和枚舉。

「建立 COM 個物件」

「建立一個 .NET 物件與建立一般 COM 物件相似。

VBScript

「dim 助手」
Set Helper = CreateObject(""Aspose.Words。ComHelper"")
 

「一旦建立,你就能存取該物件的方法與屬性,就好像它是個 COM 物件:」

VBScript

『 Dim doc』
「 Set doc = helper.Open("C:\my.doc")」
 

「有些方法有過載,它們將透過 COM Interop 來公開,並加上數字尾標,但第一條方法會保持不變。」 例如,Document.Save 方法重載變成 Document.SaveDocument.Save_2Document.Save_3 等。

「若要了解更多訊息,請參閱此文件中的語言特定文章。」

「建立 Wrapping Assembly」

如果您需要使用許多 Aspose.Words 類別、方法和屬性,請考慮建立一個包裝組(用 C# 或任何其他 .NET 程式語言來完成),以避免從非管理程式碼直接使用 Aspose.Words。

好的方法是開發一個引用 Aspose.Words 的 .NET Assembly,並用它來做所有的工作,只將最少的類別和方法暴露給未經管理的程式碼。 「你的應用程式應該只使用你的外套程式庫就好了。」

「減少你需要透過 COM Interop 調用的類別和方法數量,可以簡化你的專案,因為透過 COM Interop 使用 .NET 類別通常需要高級技能。」