1. 产品
  2.   Aspose.Words
  3.   Aspose.Words FOSS for .NET

.NET 的 Aspose.Words FOSS

从 .NET 创建、读取和编辑 Word 文档 —— 免费且开源,基于真正的 Aspose.Words 引擎,无需 Microsoft Word。

用于 Word 文档的开源 .NET 库

Aspose.Words FOSS for .NET 是一个采用 MIT 许可证的纯 C# 库,用于处理 Word .docx 文件。它不是重写或包装器:它是 Aspose.Words 用于 .NET 源代码的实际实现,正是自 2003 年以来在生产环境中处理 Word 文档的同一文档引擎,已简化为免费、开源的核心。该库公开了商业产品使用的相同 Document Object Model —— Document、DocumentBuilder、Section、Paragraph、Run、Table以及数百个相关类。可以从头创建文档或打开已有文档,操作文本、表格、列表、样式、页眉页脚、书签、批注和脚注,并在 DOCX、Markdown 和纯文本之间转换。内置完整的字段求值引擎,能够程序化地更新 DATE、DOCPROPERTY 和邮件合并字段(依赖页面布局的字段,如页码,由于页面布局不在此版本中,返回占位值)。该库针对 .NET Standard 2.0,因此可在 .NET Framework 4.6.2+、.NET 6/8/10 上运行,支持 Windows、Linux 和 macOS,且没有本地依赖。可通过 NuGet 安装或从源码构建库(见下文)。需要企业功能和生产支持的开发者可以在这些开源库旁使用 Aspose.Words for .NET — Enterprise Product。

文档创建与编辑

  • 创建和打开 DOCX: 从头构建文档或通过 new Document() 和 new Document(path) 加载现有的 .docx 文件。
  • 高级创作: 使用 DocumentBuilder 插入文本,将光标移动到章节和书签,并在几次调用中应用字体、段落和页面格式。
  • 完整的文档对象模型: 直接遍历节点树,或子类化 DocumentVisitor 来处理每种节点类型。
  • 合并与重新组织: 使用高级的 DocumentBuilder 和节点 API 在文档之间追加、克隆和导入内容。
  • 查找和替换: 支持正则表达式和格式感知的全篇文档查找/替换。

可以使用 Aspose.Words FOSS 的地方

  • 文档生成: 从模板生成报告、信函和合同,无需安装 Office。
  • 内容迁移: 读取现有 DOCX 文件并重新组织、重新样式化或提取其内容。
  • 格式转换流水线: 将 DOCX 转换为 Markdown 或纯文本,以用于搜索索引或静态站点生成。
  • 无服务器后端: 在 Docker 容器或云函数中处理 Word 文档,无需 COM 自动化。
  • 批量文档处理: 对大量 DOCX 文件集合应用相同的编辑。

字段、表格和文档结构

  • Field evaluation engine: 通过完整的字段引擎以编程方式更新 DATE、DOCPROPERTY、REF、SEQ 以及邮件合并字段。
  • Tables and conditional formatting: 使用 Table/Row/Cell 构建和样式化表格,包括通过 ConditionalStyle 进行区域级条件格式化。
  • Lists: 通过 ListCollection 和 ListFormat 创建、复制和检索编号和项目符号列表定义。
  • Tracked changes: 使用 RevisionCollection API 检查、接受或拒绝修订。
  • Document protection: 通过 DocumentSecurity 枚举应用密码保护和只读强制。

开发者体验

Aspose.Words FOSS 是纯粹的 C#,针对 .NET Standard 2.0 —— 没有需要编译的本地扩展,也没有要安装的系统包。通过 NuGet 安装,或使用单个 dotnet build 命令从源码构建。

该 API 镜像商业 Aspose.Words 的 .NET 对象模型,因此 官方文档和示例 在此版本支持的功能集内基本适用。它采用 MIT 许可证,在 GitHub 上开源。

创建带有图表的文档

使用 DocumentBuilder.InsertChart() 将图表形状添加到文档中,然后访问其 Chart 对象来配置系列数据。在添加真实数据之前,先清除默认生成的系列。

git clone https://github.com/aspose-words-foss/Aspose.Words-FOSS-for-.NET.git
cd Aspose.Words-FOSS-for-.NET
dotnet build Aspose.Words.sln -c Release
using Aspose.Words;
using Aspose.Words.Drawing.Charts;

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Shape shape = builder.InsertChart(ChartType.Line, 432, 252);
Chart chart = shape.Chart;

// Delete default generated series.
chart.Series.Clear();

string[] categories = new string[] `Chart`;
chart.Series.Add("AW Series 1", categories, new double[] { 4.3, 2.5, 3.5 });

doc.Save("chart.docx");

常见问题

Aspose.Words FOSS for .NET 的许可模式是什么?

Aspose.Words FOSS for .NET 在 MIT 许可证下发布。您可以在个人、商业和闭源项目中免费使用它,无需版税,也无需运行时许可证密钥或激活步骤。

我该如何安装 Aspose.Words FOSS for .NET?

通过 NuGet 安装它,或从源码构建——克隆仓库,在 Release 配置下构建解决方案,然后在自己的应用程序中添加对 Aspose.Words.csproj 的项目引用。

哪些文件格式可以 Aspose.Words FOSS for .NET 读取和写入?

DOCX、DOCM、DOTX、DOTM,以及 Flat OPC(加上其宏启用和模板变体),用于加载和保存,使用相同的 OOXML 读取器/写入器,还支持 Markdown 和纯文本的加载和保存。

可以 Aspose.Words FOSS for .NET 将文档导出为 PDF、XPS 或图像格式吗?

不。此版本不包括页面布局和渲染子系统,因此 Document.Save() 无法导出为 PDF、XPS 或图像格式。请改为保存为 DOCX、DOCM、DOTX、DOTM、Flat OPC、Markdown 或纯文本。

Aspose.Words FOSS for .NET 能在文档上创建数字签名吗?

不。此版本可以检查和验证已附加到 .docx 文件的数字签名,但无法创建新签名。签名工作流需要商业 Aspose.Words 用于 .NET。

此版本是否支持执行邮件合并、LINQ 报告或文档比较?

不。邮件合并执行、LINQ 报告、文档比较和嵌入式字体子集化不包含在此 FOSS 版中。

  

支持和学习资源

 中文