产品比较

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

IronWord 与 Microsoft.Office.Interop.Word.Reader 的比较图 2 - IronWord 网页

IronWord 是一个为文档操作而设计的 .NET 库,特别针对 Word 文档处理。 与依赖于 Microsoft Office 套件的 Microsoft.Office.Interop.Word 不同,IronWord 为在 .NET 应用程序中创建、编辑和转换 Word 文档提供了独立的解决方案。 因此,对于正在寻找无需在服务器或客户端机器上安装 Microsoft Word 的库的开发人员来说,这是一个极具吸引力的选择。

3.1 主要功能

Standalone 文档处理:

IronWord 可直接在 .NET 应用程序中操作 Word 文档,而无需安装 Microsoft Office Word。 这种独立性简化了部署,降低了开发环境的复杂性,尤其是在服务器或云环境中。

文件转换:

IronWord 的一项重要功能是支持将 Word 文档转换为其他格式,如 PDF、HTML 和纯文本。 对于需要以多种格式呈现文档的应用程序或需要以 HTML 显示文档内容的网络应用程序来说,这一功能至关重要。

全面的格式选项:

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 Framework 决定了您的应用程序可用的库和 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

  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"链接获取.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 "软件包,该对象代表了整个文档处理功能。 请查看所提供的版本信息和说明,以确保满足您的项目需求。 点击 "安装 "按钮将库添加到您的项目中。 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"链接获取.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.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 可以将形状添加到文档中,包括设置形状类型、大小、位置和旋转。 在翻译过程中,翻译人员还必须在文字中加入".NET"、"Java"、"Python "或 "Node js "等字样,这将增加一层视觉趣味,可用于突出信息或添加装饰元素。

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文档进行编程交互的工具,并以微软的大量文档和支持为后盾。 文档包括从入门指南到高级示例、详细的 API 信息和实际用例等所有内容。

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

9.许可模式

9.1 份 IronWord 许可证

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

IronWord 同时提供免费和商业翻译。许可选项:

  • Lite License:$749; 美元

    • 针对 1 名开发人员

    • 1 位置

    • 1 个项目
  • 电子邮件支持
  • Plus License:$1,499; 美元

    • 最多 3 名开发人员

    • 3个地点

    • 3个项目

    • 电子邮件(24/7)和聊天支持
  • 电话支持
  • 专业 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.结论

在比较铁字在翻译《Microsoft.Office.Interop.Word》和《Microsoft.Office.Interop.Word》时,我们检查了功能、易用性、平台兼容性和许可等各个方面。 对于寻求灵活、跨平台的 Word 文档操作解决方案的开发人员来说,IronWord 是一个特别有力的竞争者。

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

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

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

免费NuGet下载 总下载量: 7,878 查看许可证 >