產品比較

IronWord 與 Microsoft.Office.Interop.Word 的比較

發佈 2024年3月12日
分享:

1. 介紹

許多開發者在使用 .NET 應用程式時需要處理 Word 文件。 這可能用於創建報告、處理文件或生成發票。 這方面的兩個熱門工具是Microsoft.Office.Interop.Word和IronWord。 每個都有自己的功能集,優點和缺點。

本文將比較Microsoft.Office.Interop.WordIronWord. 我們將查看每個工具提供的功能,它們的表現,以及在何種情況下最適合使用。 這應該可以幫助您決定哪個工具更適合您的特定需求。

2. Microsoft.Office.Interop.Word

IronWord與Microsoft.Office.Interop.Word的比較:圖1 - Microsoft.Office.Interop.Word網頁

Microsoft.Office.Interop.Word 是一個允許 .NET 應用程序直接與 Microsoft Word 文件互動的函式庫。 這是為需要自動化 Word 文件處理或將 Word 文件操作功能整合到其 .NET 應用程式中的開發人員提供的關鍵組件。 這個庫在 .NET 環境中特別有用於文檔生成、修改和格式化等任務,充分利用了 Microsoft Word 的全部功能。

2.1 主要功能

文件創建和編輯:

Microsoft.Office.Interop.Word 提供廣泛的支援來建立和編輯 Word 文件。 它允許開發人員以程式方式添加、修改和刪除文本,並管理文件屬性,例如標題和主題。 此功能對於根據用戶輸入或外部數據來源生成動態文檔至關重要。

格式與樣式:

該庫提供了全面的選項,用於格式化文本、段落和整個文檔。 開發人員可以應用各種樣式、字體、顏色和段落對齊來創建專業格式的文檔。 這包括能夠在默認設置之上定義和應用自定義樣式,以確保生成的文件符合特定的品牌或設計要求。

與 Microsoft Word 的相容性:

作為 Microsoft Office 套件的組件,Microsoft.Office.Interop.Word 確保與 Microsoft Word 的所有功能具有高保真度和相容性。 這包括與最新版本的 Word 無縫整合,確保通過該庫創建或修改的文件與 Word 的原生格式完全相容。

3. IronWord

IronWord 與 Microsoft.Office.Interop.Word 的比較:圖 2 - IronWord 網頁

IronWord 是一個 .NET 庫,專為文檔操作設計,特別針對 Word 文檔處理。 與依賴於 Microsoft Office 套件的 Microsoft.Office.Interop.Word 不同,IronWord 提供了一個獨立的解決方案,用於在 .NET 應用中創建、編輯和轉換 Word 文件。 這使其成為對於尋找不需要在伺服器或客戶端機器上安裝 Microsoft Word 庫的開發人員來說具有吸引力的選擇。

3.1 主要功能

獨立文件處理:

IronWord 使您可以在 .NET 應用程式中直接操作 Word 文件,而不需要安裝 Microsoft Office Word。 這種獨立性簡化了部署並減少了開發環境的複雜性,特別是在伺服器或雲端環境中。

文件轉換:

IronWord 的一個重要功能是支持將 Word 文件轉換為其他格式,例如 PDF、HTML 和純文本。 此功能對於需要以多種格式呈現文件的應用程式或需要在 HTML 中顯示文件內容的網頁應用程式來說是必不可少的。

全面的格式化選項:

IronWord 提供廣泛的格式化功能,讓開發人員能夠應用文字樣式,新增段落對齊,並插入諸如表格和圖片等元素。 這些選項可確保由 IronWord 生成或修改的文件符合所需的視覺和結構標準。

輕鬆整合至 .NET 專案:

IronWord 專為 .NET 應用程式設計,可以通過 NuGet 輕鬆整合到任何 .NET 專案中。 其 API 專為 .NET 開發人員設計,讓他們輕鬆開始處理 Word 文件。

跨平台相容性:

IronWord 支援跨平台開發,適合用於針對各種作業系統的應用程式。 這對於需要在 Windows 操作系統和 Linux 操作系統上運行,或在雲端環境中運行的項目而言,特別有價值。

在 Visual Studio 中創建 .NET 專案

4.1 在 Visual Studio 中打開

首先啟動 Microsoft Visual Studio。 當您打開應用程式時,您將看到啟動視窗。 此視窗提供多種選項以開始操作,包括打開現有專案或建立新專案。 對於我們的目的,您將專注於啟動一個新專案。

IronWord與Microsoft.Office.Interop.Word的比較:圖3 - 在Visual Studio中創建一個新項目

4.2 選擇專案類型

在點擊選擇建立新專案後,Visual Studio 會提供一個範本列表給您。 若要繼續,請選擇控制台應用程式專案。

IronWord 與 Microsoft.Office.Interop.Word 比較:圖 4 - 建立主控台應用程式專案

4.3 配置專案

一旦選擇了所需的專案模板,點選「下一步」即可進入專案配置畫面。 在此,您需要提供有關您的專案的基本細節。 這包括指定專案名稱和選擇專案檔案儲存的位置,例如保留給應用程式內部使用的程式檔案資料夾。

IronWord 與 Microsoft.Office.Interop.Word 的比較:圖 5 - 配置專案名稱和檔案路徑

下一個對話框涉及選擇目標框架。 您選擇的 .NET Framework 會決定您的應用程序可用的庫和 API,從而影響其兼容性和功能。 請確保選擇一個支援您計劃在應用程式中實現功能的框架版本,利用 Visual Studio 工具來優化開發體驗。

IronWord與Microsoft.Office.Interop.Word比較:圖6 - 選擇合適的.NET框架

4.4 建立專案

在填寫必要的資訊並確保所有設定正確調整以符合您的專案需求後,最後一步是建立專案。 這可以透過點擊「建立」按鈕來完成。 Visual Studio 隨後根據選定的模板和配置初始化一個新專案。 此過程可能需要幾分鐘,之後您的新 .NET 專案將會開啟並準備好進行開發。

5. 安裝 IronWord 函式庫

本節探討如何使用 NuGet 套件管理器、Visual Studio 命令行,以及直接從 NuGet 網頁下載,將 IronWord 庫整合到您的專案中。

5.1 使用 NuGet 套件管理器

NuGet 套件管理器是 Visual Studio 中的一個用戶友好界面,允許無縫安裝程式庫和工具。 若要使用此方法安裝IronWord庫,請按照以下步驟操作:

  1. 在 Visual Studio 中打開您的專案。 在方案總管中右鍵點擊專案名稱,然後從快捷選單中選擇「管理 NuGet 套件...」。 此操作將開啟 NuGet 套件管理器視窗。

  2. 在 NuGet 套件管理員窗口中,導航到「瀏覽」選項卡。 使用搜尋框輸入 "IronWord" 並按 Enter 鍵以找到 IronWord 程式庫。

    IronWord 與 Microsoft.Office.Interop.Word 的比較:圖 7 - 使用 NuGet 套件管理器安裝 IronWord

  3. 從搜索結果中選擇 IronWord 套件。 您將看到詳細的描述和版本資訊。 選擇符合您專案需求的版本,然後按下「安裝」按鈕。 然後,Visual Studio 會負責下載和安裝庫,並相應地更新您的專案引用。

5.2 使用 Visual Studio 命令行

對於喜歡使用命令行工具的人來說,Visual Studio 提供了 Package Manager Console,一個用於管理 NuGet 套件的 PowerShell 介面。

  1. 從 Visual Studio 主選單中導航到「工具」>「NuGet 套件管理員」>「套件管理器主控台」。

  2. 在控制台中,輸入以下命令然後按 Enter:
    :ProductInstall

此命令將取得 IronWord 庫的最新版本並將其合併到您的專案中。 您可以通過添加 -Version 參數及其後的版本號來指定特定版本。

IronWord與Microsoft.Office.Interop.Word的比較:圖8 - 通過VS命令行安裝IronWord

5.3 從 NuGet 網頁直接下載

IronWord 與 Microsoft.Office.Interop.Word 的比較:圖 9 - 通過 NuGet 網頁安裝 IronWord

如果您 prefer 手動管理您的專案庫,您可以直接從 NuGet 網站下載 IronWord 套件並將其新增到您的專案。

  1. 參觀nuget.org並搜尋 IronWord 套件。 在包裝頁面上,找到「下載"連結以獲取.nupkg檔案。將此檔案儲存到您的電腦。

  2. 下載後,您可以手動將套件添加到您的項目中。 此過程通常涉及提取 .nupkg 文件,然後將引用添加到專案中的程式集。 然而,使用上述說明的 NuGet Package Manager 或 Visual Studio 指令行一般來說更簡單且不易出錯。

6. 安裝 Microsoft.Office.Interop.Word

這個函式庫可以透過多種方法添加到您的專案中,每種方法都適合不同的開發偏好和需求。

6.1 使用 NuGet 套件管理器

IronWord 與 Microsoft.Office.Interop.Word 的比較:圖 10 - 通過 NuGet 包管理器安裝 Microsoft.Office.Interop.Word

在 Visual Studio 中,使用 NuGet 套件管理器是將 Microsoft.Office.Interop.Word 庫添加到專案中最直接的方法。 請依照以下步驟操作:

  1. 打開NuGet套件管理器:在Visual Studio中打開您的專案,在方案總管中右鍵點擊專案名稱。 從右鍵選單中選擇「管理 NuGet 套件...」以開啟 NuGet 套件管理器窗口。

  2. 搜索庫:在 NuGet 套件管理器窗口中,切換到「瀏覽」標籤並在搜尋框中輸入「Microsoft.Office.Interop.Word」。 按下 Enter 鍵開始搜尋。

  3. 安裝套件:在搜尋結果中找到 "Microsoft.Office.Interop.Word" 套件,此物件代表整個文件操作功能。 請檢視提供的版本資訊和描述,以確保其符合您的專案需求。 點擊「安裝」按鈕將庫添加到您的項目中。 Visual Studio 會處理套件的下載和安裝,更新您的專案引用以包含必要的組件。

6.2 使用 Visual Studio 命令行

IronWord 與 Microsoft.Office.Interop.Word 的比較:圖 11 - 通過 VS 命令行安裝 Microsoft.Office.Interop.Word

Package Manager Console 是 Visual Studio 中的命令行介面,提供了另一種安裝 Microsoft.Office.Interop.Word 庫的方法。

  1. 訪問封裝管理器控制台:從 Visual Studio 的主選單中,依次選擇「工具」>「NuGet 封裝管理員」>「封裝管理器控制台」。

  2. 執行安裝命令:在控制台中,輸入以下命令並按 Enter 鍵:
    Install-Package Microsoft.Office.Interop.Word
  1. 此指令指示 Visual Studio 取得最新版本的庫並將其整合到您的專案中。 如果您需要特定版本的庫,您可以通過在-Version參數後添加所需的版本號來指定它。

6.3 從 NuGet 網頁直接下載

IronWord 與 Microsoft.Office.Interop.Word 的比較:圖 12 - 從 NuGet 網頁安裝 Microsoft.Office.Interop.Word

對於喜歡手動管理專案相依性的開發人員,可以直接從 NuGet 網站下載 Microsoft.Office.Interop.Word 庫。

  1. 下載套件:導航至nuget.org並搜尋 "Microsoft.Office.Interop.Word"。 在套件的頁面上,找到“下載"連結以獲取.nupkg檔案。將此檔案保存到電腦上已知的位置。

  2. 手動將封裝添加到您的項目:下載後,可以將 .nupkg 文件手動添加到您的項目中。 這通常涉及提取文件,並在您的專案中添加對提取的組件的引用。 儘管如此,為了方便使用並減少潛在錯誤,建議使用 NuGet 套件管理器或 Visual Studio 命令行。

7. IronWord 和 Microsoft.Office.Interop.Word 的高級功能比較

7.1 IronWord 的高級功能

7.1.1 讀取和編輯 Word 文件

IronWord 允許讀取和Word 文件的修改. 這包括開啟現有文件、進行更改,並將這些更改保存回原始文件或新文件。此功能對於需要根據用戶輸入或其他來源的數據更新文件的應用程式至關重要。

using IronWord;
using IronWord.Models;
// Initialize with a new document name
WordDocument document = new WordDocument("my_new_document.docx");
// Insert new text content
document.AddText("This is a demonstration of modifying content with IronWord.");
// Save the document with a new filename
document.SaveAs("updated_document.docx");
using IronWord;
using IronWord.Models;
// Initialize with a new document name
WordDocument document = new WordDocument("my_new_document.docx");
// Insert new text content
document.AddText("This is a demonstration of modifying content with IronWord.");
// Save the document with a new filename
document.SaveAs("updated_document.docx");
Imports IronWord
Imports IronWord.Models
' Initialize with a new document name
Private document As New WordDocument("my_new_document.docx")
' Insert new text content
document.AddText("This is a demonstration of modifying content with IronWord.")
' Save the document with a new filename
document.SaveAs("updated_document.docx")
VB   C#

IronWord 與 Microsoft.Office.Interop.Word 的比較:圖 13 - 上述程式碼產生的文件

7.1.2 編輯頁面設定

IronWord 允許修改文件的紙張尺寸,以符合各種標準如 A4、Letter 或 Legal。 您可以根據文件的需求,在縱向和橫向之間調整頁面方向。

7.1.3 添加段落

添加段落使用 IronWord 程式化非常簡單,這使得能夠根據應用程式邏輯動態插入文字成為可能。

using IronWord;
using IronWord.Models;
// Initialize a new Word document
WordDocument document = new WordDocument();
// Insert text into the document
document.AddText("Exploring IronWord Capabilities");
// Save the document to a new file
document.SaveAs("updated_ironword_document.docx");
using IronWord;
using IronWord.Models;
// Initialize a new Word document
WordDocument document = new WordDocument();
// Insert text into the document
document.AddText("Exploring IronWord Capabilities");
// Save the document to a new file
document.SaveAs("updated_ironword_document.docx");
Imports IronWord
Imports IronWord.Models
' Initialize a new Word document
Private document As New WordDocument()
' Insert text into the document
document.AddText("Exploring IronWord Capabilities")
' Save the document to a new file
document.SaveAs("updated_ironword_document.docx")
VB   C#

IronWord 與 Microsoft.Office.Interop.Word 的比較:圖14 - 上述程式碼生成的文件

7.1.4 添加和刪除 TextRuns

TextRuns 代表具有共同屬性集的文字區段。 IronWord 允許添加和移除這些,讓開發人員能夠控制文本分段和屬性。

7.1.5 添加圖像

IronWord 支援新增圖片到文件,包括指定位置、換行和大小,這可以增強文件的視覺吸引力和效果。

using IronWord;
using IronWord.Models;
// Initialize a new Word document
WordDocument document = new WordDocument();
// Setup an image
IronWord.Models.Image img = new IronWord.Models.Image("updated_image.jpg");
img.Width = 250; // Width in pixels
img.Height = 250; // Height in pixels
Paragraph para = new Paragraph();
// Incorporate image into paragraph
para.AddImage(img);
// Integrate paragraph into document
document.AddParagraph(para);
// Save the document with a new name
document.SaveAs("updated_save_document.docx");
using IronWord;
using IronWord.Models;
// Initialize a new Word document
WordDocument document = new WordDocument();
// Setup an image
IronWord.Models.Image img = new IronWord.Models.Image("updated_image.jpg");
img.Width = 250; // Width in pixels
img.Height = 250; // Height in pixels
Paragraph para = new Paragraph();
// Incorporate image into paragraph
para.AddImage(img);
// Integrate paragraph into document
document.AddParagraph(para);
// Save the document with a new name
document.SaveAs("updated_save_document.docx");
Imports IronWord
Imports IronWord.Models
' Initialize a new Word document
Private document As New WordDocument()
' Setup an image
Private img As New IronWord.Models.Image("updated_image.jpg")
img.Width = 250 ' Width in pixels
img.Height = 250 ' Height in pixels
Dim para As New Paragraph()
' Incorporate image into paragraph
para.AddImage(img)
' Integrate paragraph into document
document.AddParagraph(para)
' Save the document with a new name
document.SaveAs("updated_save_document.docx")
VB   C#

IronWord 與 Microsoft.Office.Interop.Word 的比較:圖 15 - 前面程式碼產生的文件包含圖片

7.1.6 添加形狀

可以使用 IronWord 將形狀添加到文檔中,包括設定形狀類型、大小、位置和旋轉。 這增添了一層視覺趣味,可以用來突出資訊或添加裝飾元素。

7.1.7 設定樣式

樣式選項IronWord 中的功能範圍廣泛,包括字體系列和大小、顏色,以及粗體、斜體、刪除線、底線、上標和下標等文字裝飾。 這種控制水平對維持品牌標準和確保文件可讀性至關重要。

using IronSoftware.Drawing;
using IronWord;
using IronWord.Models;
using Color = IronSoftware.Drawing.Color;
// Initialize WordDocument with a file
WordDocument document = new WordDocument("updated_document.docx");
// Create TextRun with modifications
TextRun modifiedTextRun = new TextRun();
modifiedTextRun.Text = "Updated text with IronWord";
modifiedTextRun.Style = new TextStyle()
{
    FontFamily = "Arial",
    FontSize = 48, // Adjusted font size
    TextColor = new IronColor(Color.Blue), 
    IsBold = false, 
    IsItalic = false, 
    IsUnderline = false, 
    IsSuperscript = true, 
    IsStrikethrough = false,
    IsSubscript = true 
};
Paragraph newParagraph = new Paragraph();
// Add modified TextRun to Paragraph
newParagraph.AddTextRun(modifiedTextRun);
// Add new Paragraph to Document
document.AddParagraph(newParagraph);
// Save Document with a new name
document.SaveAs("updated_save_document.docx");
using IronSoftware.Drawing;
using IronWord;
using IronWord.Models;
using Color = IronSoftware.Drawing.Color;
// Initialize WordDocument with a file
WordDocument document = new WordDocument("updated_document.docx");
// Create TextRun with modifications
TextRun modifiedTextRun = new TextRun();
modifiedTextRun.Text = "Updated text with IronWord";
modifiedTextRun.Style = new TextStyle()
{
    FontFamily = "Arial",
    FontSize = 48, // Adjusted font size
    TextColor = new IronColor(Color.Blue), 
    IsBold = false, 
    IsItalic = false, 
    IsUnderline = false, 
    IsSuperscript = true, 
    IsStrikethrough = false,
    IsSubscript = true 
};
Paragraph newParagraph = new Paragraph();
// Add modified TextRun to Paragraph
newParagraph.AddTextRun(modifiedTextRun);
// Add new Paragraph to Document
document.AddParagraph(newParagraph);
// Save Document with a new name
document.SaveAs("updated_save_document.docx");
Imports IronSoftware.Drawing
Imports IronWord
Imports IronWord.Models
Imports Color = IronSoftware.Drawing.Color
' Initialize WordDocument with a file
Private document As New WordDocument("updated_document.docx")
' Create TextRun with modifications
Private modifiedTextRun As New TextRun()
modifiedTextRun.Text = "Updated text with IronWord"
modifiedTextRun.Style = New TextStyle() With {
	.FontFamily = "Arial",
	.FontSize = 48,
	.TextColor = New IronColor(Color.Blue),
	.IsBold = False,
	.IsItalic = False,
	.IsUnderline = False,
	.IsSuperscript = True,
	.IsStrikethrough = False,
	.IsSubscript = True
}
Dim newParagraph As New Paragraph()
' Add modified TextRun to Paragraph
newParagraph.AddTextRun(modifiedTextRun)
' Add new Paragraph to Document
document.AddParagraph(newParagraph)
' Save Document with a new name
document.SaveAs("updated_save_document.docx")
VB   C#

7.1.8 設定對齊

IronWord 支援在文件中設定文字對齊方式,包括左對齊、置中、右對齊和左右對齊。 這對美觀和可讀性都很重要。

7.1.10 新增表格

表格是許多文件的重要組成部分,用於組織數據和信息。 IronWord 允許添加表格以及操作其結構,包括新增或移除列和欄。 使用 IronWord 操作表格單元格的內容非常簡單,可以根據應用需求動態插入內容。 IronWord 提供合併和分割表格儲存格的功能,這對於自訂表格佈局和處理複雜的數據展示需求非常有用。

using IronWord;
using IronWord.Models;
// Create table cell
TableCell cell = new TableCell();
TextRun textRun = new TextRun();
textRun.Text = "Updated content"; // Changed the text content
// Add TextRun to the cell
cell.AddContent(new Paragraph(textRun));
// Configure border style
BorderStyle borderStyle = new BorderStyle();
borderStyle.BorderColor = new IronColor(IronSoftware.Drawing.Color.Blue); // Changed border color to blue
borderStyle.BorderValue = IronWord.Models.Enums.BorderValues.Double; // Changed border style to double
borderStyle.BorderSize = 3; // Adjusted border size to 3
// Configure table border
TableBorders tableBorders = new TableBorders() {
    TopBorder = borderStyle,
    RightBorder = borderStyle,
    BottomBorder = borderStyle,
    LeftBorder = borderStyle,
};
cell.Borders = tableBorders;
// Create row and add cell
TableRow row = new TableRow();
row.AddCell(cell);
row.AddCell(cell); 
// Create table and add row
Table table = new Table();
table.AddRow(row);
// Create a new Word document from the table
WordDocument doc = new WordDocument(table);
// Export Word document
doc.SaveAs("UpdatedDocument.docx");
using IronWord;
using IronWord.Models;
// Create table cell
TableCell cell = new TableCell();
TextRun textRun = new TextRun();
textRun.Text = "Updated content"; // Changed the text content
// Add TextRun to the cell
cell.AddContent(new Paragraph(textRun));
// Configure border style
BorderStyle borderStyle = new BorderStyle();
borderStyle.BorderColor = new IronColor(IronSoftware.Drawing.Color.Blue); // Changed border color to blue
borderStyle.BorderValue = IronWord.Models.Enums.BorderValues.Double; // Changed border style to double
borderStyle.BorderSize = 3; // Adjusted border size to 3
// Configure table border
TableBorders tableBorders = new TableBorders() {
    TopBorder = borderStyle,
    RightBorder = borderStyle,
    BottomBorder = borderStyle,
    LeftBorder = borderStyle,
};
cell.Borders = tableBorders;
// Create row and add cell
TableRow row = new TableRow();
row.AddCell(cell);
row.AddCell(cell); 
// Create table and add row
Table table = new Table();
table.AddRow(row);
// Create a new Word document from the table
WordDocument doc = new WordDocument(table);
// Export Word document
doc.SaveAs("UpdatedDocument.docx");
Imports IronWord
Imports IronWord.Models
' Create table cell
Private cell As New TableCell()
Private textRun As New TextRun()
textRun.Text = "Updated content" ' Changed the text content
' Add TextRun to the cell
cell.AddContent(New Paragraph(textRun))
' Configure border style
Dim borderStyle As New BorderStyle()
borderStyle.BorderColor = New IronColor(IronSoftware.Drawing.Color.Blue) ' Changed border color to blue
borderStyle.BorderValue = IronWord.Models.Enums.BorderValues.Double ' Changed border style to double
borderStyle.BorderSize = 3 ' Adjusted border size to 3
' Configure table border
Dim tableBorders As New TableBorders() With {
	.TopBorder = borderStyle,
	.RightBorder = borderStyle,
	.BottomBorder = borderStyle,
	.LeftBorder = borderStyle
}
cell.Borders = tableBorders
' Create row and add cell
Dim row As New TableRow()
row.AddCell(cell)
row.AddCell(cell)
' Create table and add row
Dim table As New Table()
table.AddRow(row)
' Create a new Word document from the table
Dim doc As New WordDocument(table)
' Export Word document
doc.SaveAs("UpdatedDocument.docx")
VB   C#

IronWord 與 Microsoft.Office.Interop.Word 的比較:圖 16 - 來自前面代碼的表格輸出的文件

7.2 Microsoft.Office.Interop.Word 的特定進階功能

Microsoft.Office.Interop.Word 允許與 Word 文件深度整合,使開發人員能夠以程式化方式利用 Word 的廣泛功能。 以下是 Microsoft.Office.Interop.Word 提供的特定高級功能,這些功能與之前概述的一般功能不同:

7.2.1 內容控制

Microsoft.Office.Interop.Word 支援內容控制的添加和操作,包括富文本框、組合框、日期選擇器和核取方塊。 這些控制項可用於創建結構化和互動式文件,使用者可以在設定的範本中輸入或選擇資訊。

// Content Controls
var application = new Microsoft.Office.Interop.Word.Application();
var document = application.Documents.Add();
var cc = document.ContentControls.Add(WdContentControlType.wdContentControlComboBox, ref missing);
cc.Title = "Choose an option";
cc.DropdownListEntries.Add("Option 1", "1");
cc.DropdownListEntries.Add("Option 2", "2");
// Content Controls
var application = new Microsoft.Office.Interop.Word.Application();
var document = application.Documents.Add();
var cc = document.ContentControls.Add(WdContentControlType.wdContentControlComboBox, ref missing);
cc.Title = "Choose an option";
cc.DropdownListEntries.Add("Option 1", "1");
cc.DropdownListEntries.Add("Option 2", "2");
' Content Controls
Dim application = New Microsoft.Office.Interop.Word.Application()
Dim document = application.Documents.Add()
Dim cc = document.ContentControls.Add(WdContentControlType.wdContentControlComboBox, missing)
cc.Title = "Choose an option"
cc.DropdownListEntries.Add("Option 1", "1")
cc.DropdownListEntries.Add("Option 2", "2")
VB   C#

IronWord與Microsoft.Office.Interop.Word的比較:圖17 - 前一段程式碼生成的帶有內容控制的文件

7.2.2 資料合併

自動化合併郵件過程,將 Word 文件與像電子表格或數據庫這樣的數據源結合,批量生成個性化的信件、標籤或電子郵件。此功能對於大量生成定制化的溝通或文檔極為寶貴。

// Mail Merge
var mailMergeDoc = application.Documents.Add();
mailMergeDoc.MailMerge.OpenDataSource("path\\to\\datasource.xlsx");
mailMergeDoc.MailMerge.Destination = WdMailMergeDestination.wdSendToNewDocument;
mailMergeDoc.MailMerge.Execute(false);
// Mail Merge
var mailMergeDoc = application.Documents.Add();
mailMergeDoc.MailMerge.OpenDataSource("path\\to\\datasource.xlsx");
mailMergeDoc.MailMerge.Destination = WdMailMergeDestination.wdSendToNewDocument;
mailMergeDoc.MailMerge.Execute(false);
' Mail Merge
Dim mailMergeDoc = application.Documents.Add()
mailMergeDoc.MailMerge.OpenDataSource("path\to\datasource.xlsx")
mailMergeDoc.MailMerge.Destination = WdMailMergeDestination.wdSendToNewDocument
mailMergeDoc.MailMerge.Execute(False)
VB   C#

7.2.3 追蹤更改和評論

通過程式碼啟用並使用 Word 的追蹤修訂和批注功能。 此功能對於需要協作編輯、文件審查或隨時間進行更改審計的應用程式至關重要。

// Track Changes and Comments
document.TrackRevisions = true;
document.Comments.Add(document.Paragraphs [1].Range, "This is a comment.");
// Track Changes and Comments
document.TrackRevisions = true;
document.Comments.Add(document.Paragraphs [1].Range, "This is a comment.");
' Track Changes and Comments
document.TrackRevisions = True
document.Comments.Add(document.Paragraphs (1).Range, "This is a comment.")
VB   C#

IronWord與Microsoft.Office.Interop.Word之間的比較:圖18 - 來自前面代碼的帶有評論跟蹤的輸出文檔

7.2.4 頁首和頁尾

動態操作頁眉和頁腳,包括添加頁碼、日期或自訂文字。 這對於創建具有一致品牌和導航輔助的專業文件至關重要。

// Headers and Footers
foreach (Section section in document.Sections)
{
    section.Headers [WdHeaderFooterIndex.wdHeaderFooterPrimary].Range.Text = "Header Text";
    section.Footers [WdHeaderFooterIndex.wdHeaderFooterPrimary].PageNumbers.Add();
}
// Headers and Footers
foreach (Section section in document.Sections)
{
    section.Headers [WdHeaderFooterIndex.wdHeaderFooterPrimary].Range.Text = "Header Text";
    section.Footers [WdHeaderFooterIndex.wdHeaderFooterPrimary].PageNumbers.Add();
}
' Headers and Footers
For Each section As Section In document.Sections
	section.Headers (WdHeaderFooterIndex.wdHeaderFooterPrimary).Range.Text = "Header Text"
	section.Footers (WdHeaderFooterIndex.wdHeaderFooterPrimary).PageNumbers.Add()
Next section
VB   C#

IronWord 與 Microsoft.Office.Interop.Word 的比較:圖 19 - 來自前述代碼的輸出文件,包含頁眉和頁腳

7.2.5 目錄和索引

根據文件標題或標記的條目生成和更新目錄或索引。 這對於創建可導航的專業文件特別是冗長的報告或書籍至關重要。

// Table of Contents and Indexes
var toc = document.TablesOfContents.Add(document.Content, UpperHeadingLevel: 1, LowerHeadingLevel: 3, UseHyperlinks: true);
var index = document.Indexes.Add(document.Content);
// Table of Contents and Indexes
var toc = document.TablesOfContents.Add(document.Content, UpperHeadingLevel: 1, LowerHeadingLevel: 3, UseHyperlinks: true);
var index = document.Indexes.Add(document.Content);
' Table of Contents and Indexes
Dim toc = document.TablesOfContents.Add(document.Content, UpperHeadingLevel:= 1, LowerHeadingLevel:= 3, UseHyperlinks:= True)
Dim index = document.Indexes.Add(document.Content)
VB   C#

7.2.6 嵌入和連結物件

將外部物件,如 Excel 圖表、PowerPoint 簡報或其他指定物件嵌入或連結到 Word 文件中。 此功能支持動態內容,可以隨著源文件更新或直接在文檔中嵌入信息。

// Embedding and Linking Specified Objects
object missing = System.Reflection.Missing.Value;
document.InlineShapes.AddOLEObject("Excel.Sheet", "path\\to\\excel.xlsx", false, false, ref missing, ref missing, ref missing, ref missing);
// Embedding and Linking Specified Objects
object missing = System.Reflection.Missing.Value;
document.InlineShapes.AddOLEObject("Excel.Sheet", "path\\to\\excel.xlsx", false, false, ref missing, ref missing, ref missing, ref missing);
' Embedding and Linking Specified Objects
Dim missing As Object = System.Reflection.Missing.Value
document.InlineShapes.AddOLEObject("Excel.Sheet", "path\to\excel.xlsx", False, False, missing, missing, missing, missing)
VB   C#

8. 文件和支援

8.1 IronWord 文件及支援

IronWord 提供全面的文件並提供支援以協助開發者充分發揮其潛力。 該文件涵蓋了各種資源,包括詳細的入門指南、功能摘要、快速入門範例和全面的 API 參考。

IronWord 的支援十分健全,提供技術協助以確保開發人員能夠迅速解決任何問題。 支持框架包括一個專門的團隊,以解答疑問和排除問題。

8.2 Microsoft.Office.Interop.Word 文件和支援

Microsoft.Office.Interop.Word 為 .NET 開發者提供了以程式方式與 Word 文件互動的工具,並由微軟的廣泛文件和支援作為後盾。 該文件包含從初學者指南到高階範例、詳細的 API 資訊以及實用的使用案例。

為了支援,微軟提供多個管道,包括直接技術支援、社群論壇,以及像 Stack Overflow 這樣的平臺提供同儕支援。 GitHub 也是回報問題和提出改進建議的重要平台。 定期更新確保該庫與新的 Word 版本保持同步,這反映了微軟對開發者需求的不斷承諾。

許可模式

9.1 IronWord 授權條款

IronWord與Microsoft.Office.Interop.Word的比較:圖20 - IronWord 許可證頁面

IronWord 提供免費和商業版本授權選項:

  • Lite License: $749; 美元

    • 適用於 1 名開發人員

    • 1 地點

    • 1 專案
  • 電子郵件支援
  • Plus License: $1,499; 美元

    • 最多 3 位開發人員

    • 3 個地點

    • 3 個專案

    • 電子郵件(24/7)和聊天支援
  • 電話支援
  • Professional License:$2,999; 美元

    • 最多 10 位開發人員

    • 10個地點

    • 10個專案

    • 電子郵件(24/7),聊天和電話支持

    • 螢幕共享支援

    所有商業授權包括優先支援和更新。 它還提供一個免費試用在生產環境中測試所有功能而沒有任何浮水印。

9.2 Microsoft.Office.Interop.Word 授權

Microsoft.Office.Interop.Word 的授權與 Microsoft Office 套件綁定。Interop 函式庫本身不需要單獨的授權; 這包含在 Microsoft Office 中。在應用程式中使用 Microsoft.Office.Interop.Word 需要部署環境具備有效的 Microsoft Office 授權,其中包含 Word。

成本取決於所選擇的特定 Office 套裝軟體版本和授權協議,範圍從個人授權到企業的批量授權。 如需準確的定價信息,請參考微軟的官方網站或聯繫微軟的銷售代表。

10. 結論

在比較之間IronWord和 Microsoft.Office.Interop.Word,我們已經審查了各個方面,例如功能、易用性、平台相容性和許可。 IronWord 為尋求靈活的跨平台 Word 文件操作解決方案的開發人員提供了一個特別強大的選擇。

IronWord 能夠獨立於 Microsoft Office 運作,提供了一種精簡的文件處理方式,使其成為在各種環境中運行的應用程式的理想選擇。 其全面的功能集,以及不需要安裝 Microsoft Word 的便捷性,使 IronWord 具有優勢,特別是在部署簡單性和廣泛兼容性是關鍵考量的情況下。 如果您想購買 IronWord,請前往授權頁面.

下一個 >
IronWord 與 Aspose Words For .NET 比較

準備開始了嗎? 版本: 2024.12 剛剛發布

免費 NuGet 下載 總下載次數: 7,878 查看許可證 >