產品比較

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 項目集成:

考慮了 .NET 應用程式設計,IronWord 可以通過 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 創建專案

在填寫必要的資訊並確保所有設置都正確調整以滿足專案需求後,最後一步是創建專案。這可以通過點擊 「Create」 按鈕來完成。然後,Visual Studio 會根據所選的模板和配置初始化一個新專案。這個過程可能需要一會兒,之後你的新 .NET 專案將會打開並準備開發。

5. 安裝 IronWord 函式庫

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

5.1 使用 NuGet 套件管理器

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

  1. 在 Visual Studio 中打開您的項目。在 "Solution Explorer" 中右鍵單擊項目名稱,從上下文菜單中選擇 "Manage NuGet Packages..."。此操作將打開 NuGet 套件管理器窗口。

  2. 在 NuGet 套件管理器窗口中,導航到 "Browse" 標籤。使用搜索框找到 IronWord 庫,輸入 "IronWord" 並按 Enter。

    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

如果您喜歡手動管理專案的函式庫,可以直接從 NuGet 網站下載 IronWord 套件並將其添加到您的專案。

  1. 訪問 nuget.org 並搜尋IronWord套件。在套件頁面上,找到「下載"連結以取得 .nupkg 文件。將此文件儲存到您的電腦上。

  2. 下載完成後,您可以手動將該套件添加到您的專案中。這個過程通常涉及解壓縮 .nupkg 文件,然後將其中的組件引用到您的專案中。然而,通常使用 NuGet 套件管理員或如上所述的 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

套件管理器控制台是 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 文件的工具,並且有 Microsoft 的豐富文件與支援作為後盾。這些文件涵蓋從入門指南到高級範例、詳細的 API 資訊和實際用例。

在支援方面,Microsoft 提供了多種管道,包括直接技術協助、社群論壇和像 Stack Overflow 這樣的平台以獲取同儕支援。GitHub 也是報告問題和建議改進的重要資源。定期更新確保該庫與新版本的 Word 保持同步,反映 Microsoft 對開發者需求的持續承諾。

許可模式

9.1 IronWord 授權

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

IronWord 提供免費和商用 授權選項:

  • Lite License: $749; USD

    • 1名開發者

    • 1個地點

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

    • 最多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 套件版本和授權協議,從個人授權到企業的批量授權不等。具體價格,請參考 Microsoft 官方網站或聯繫 Microsoft 銷售代表。

10. 結論

在比較之中 IronWord 和 Microsoft.Office.Interop.Word,我們檢查了多方面的功能、易用性、平台兼容性和授權問題。IronWord 成為尋求靈活且跨平台的 Word 文檔處理解決方案的開發者中特別強大的競爭者。

由於 IronWord 能夠獨立於 Microsoft Office 運行,它提供了一種簡化的文檔處理方式,使其成為在多種環境中運行的應用程序的理想選擇。其全面的功能集結合了不需要安裝 Microsoft Word 的便利性,給 IronWord 帶來了優勢,特別是在部署簡易性和廣泛兼容性是關鍵考慮因素的場景中。如果您想購買 IronWord,請訪問 授權頁面.

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

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

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