产品比较

IronWord 与 Microsoft.Office.Interop.Word 的对比

发布 2024年三月12日
分享:

1.导言

许多开发人员在使用.NET 应用程序时都需要处理 Word 文档。这可能是为了创建报告、处理文档或生成发票。在这方面有两种流行的工具:Microsoft.Office.Interop.Word 和 IronWord。这两种工具各有特点、优点和缺点。

本文将比较 Microsoft.Office.Interop.Word铁字.我们将介绍每种工具的功能、性能以及最佳使用场景。这将有助于您决定哪种工具更适合您的特定需求。

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 与 Microsoft.Office.Interop.Word.Reader 的比较图 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 还可以添加段落对齐方式,以及插入表格和图片等元素。这些选项可确保 IronWord 生成或修改的文档符合所需的视觉和结构标准。

与.NET项目轻松集成:

IronWord 是专为.NET 应用程序设计的,可以通过 NuGet 轻松集成到任何 .NET 项目中。其应用程序接口(API)专为.NET开发人员设计,使其能够直观地开始处理Word文档。

跨平台兼容性:

IronWord 支持跨平台开发,因此适用于针对各种操作系统的应用程序。这对于需要在 Windows 操作系统和 Linux 操作系统上运行的项目或在云环境中运行的项目尤为重要。

4.在 Visual Studio 中创建 .NET 项目

4.1 在 Visual Studio 中打开

首先启动 Microsoft Visual Studio。打开应用程序后,您将看到启动窗口。该窗口提供了多种启动选项,包括打开现有项目或创建新项目。我们将重点介绍如何启动一个新项目。

IronWord与Microsoft.Office.Interop.Word.NET的比较图 3 - 在 Visual Studio 中创建新项目

4.2 选择项目类型

点击 "创建新项目 "选项后,Visual Studio 会显示一个模板列表。要继续,请选择控制台应用程序项目。

IronWord 与 Microsoft.Office.Interop.Word.Net 的比较图 4 - 创建控制台应用程序项目

4.3 配置项目

选择所需项目模板后,点击 "下一步 "进入项目配置页面。在这里,你需要提供项目的基本细节。这包括指定项目名称和选择项目文件的存储位置,如程序文件文件夹,供应用程序内部使用。

IronWord与Microsoft.Office.Interop.Word.NET的比较图 5 - 配置项目名称和文件路径

下一个对话框涉及选择目标框架。您选择的 .NET 框架决定了应用程序可用的库和 API,并影响其兼容性和功能。请确保选择的框架版本支持您计划在应用程序中实现的功能,并利用 Visual Studio 工具优化开发体验。

IronWord与Microsoft.Office.Interop.Word.NET的比较图 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.NuGet软件包的比较图 7 - 使用 NuGet 软件包管理器安装 IronWord](/static-assets/word/blog/microsoft-office-interop-word-csharp-example-alternatives/microsoft-office-interop-word-csharp-example-alternatives-7.webp)

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.NET的比较图 8 - 通过 VS 命令行安装 IronWord

5.3 从 NuGet 网页直接下载

IronWord与Microsoft.Office.Interop.Word.NuGet的比较图 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 中打开项目后,右键单击 "解决方案资源管理器 "中的项目名称。从上下文菜单中选择 "Manage NuGet Packages...(管理 NuGet 包...)",打开 NuGet 包管理器窗口。

  2. 搜索库:在 NuGet 包管理器窗口中,切换到 "浏览 "选项卡,并在搜索框中键入 "Microsoft.Office.Interop.Word"。按 Enter 键启动搜索。

  3. 安装软件包:在搜索结果中找到 "Microsoft.Office.Interop.Word "软件包,该对象代表了整个文档处理功能。查看所提供的版本信息和说明,确保其满足项目需求。单击 "Install(安装)"按钮将库添加到项目中。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 文档。 修改 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.NET的比较图 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

TextRun 表示具有一组共同属性的文本部分。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.NET的比较图 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.NET的比较图 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.NET的比较图 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 信息和实际用例等所有内容。

在支持方面,微软提供了多种渠道,包括直接的技术援助、社区论坛以及提供同行支持的 Stack Overflow 等平台。GitHub 对于报告问题和提出改进建议也至关重要。定期更新可确保该库与新 Word 版本保持同步,这体现了微软对开发人员需求的持续承诺。

9.许可模式

9.1 IronWord 许可证

IronWord 与 Microsoft.Office.Interop.Word.Reader 的比较图 20 - IronWord 许可页面

IronWord 提供免费和商业版 许可选项:

  • Lite License:$liteLicense`; USD

    • 供 1 名开发人员使用

    • 1 个地点

    • 1 个项目
  • 电子邮件支持
  • 附加许可:1,499 美元

    • 最多 3 名开发人员

    • 3 个地点

    • 3 个项目

    • 电子邮件 (24/7) 和聊天支持
  • 电话支持
  • 专业许可证: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 的功能、易用性、平台兼容性和许可等各个方面进行了研究。对于寻求灵活、跨平台 Word 文档处理解决方案的开发人员来说,IronWord 是一个特别有力的竞争者。

IronWord 能够独立于 Microsoft Office 运行,提供了一种简化的文档处理方法,使其成为在不同环境中运行的应用程序的理想选择。IronWord 功能全面,而且不需要安装 Microsoft Word,因此具有很大的优势,特别是在以部署简单和兼容性广泛为主要考虑因素的情况下。如果您想购买 IronWord,请访问 许可证页面.

下一步 >
IronWord 与 Aspose Words For .NET 的比较

准备开始了吗? 版本: 2024.9 刚刚发布

免费NuGet下载 总下载量: 4,816 查看许可证 >