Aspose.Words FOSS for .NET 的使用案例

Aspose.Words FOSS for .NET 的使用案例

Aspose.Words FOSS for .NET 是一个纯-C# 库,用于在未安装 Microsoft Word 的情况下创建、编辑和转换 Word 文档。下面的用例反映了此开源版本实际支持的内容,基于 Document and DocumentBuilder. 它不包括页面布局、渲染或 PDF/图像导出;请参阅 FAQ and Troubleshooting 页面列出了此版本未包含的完整列表。


服务器端文档生成

在没有 Office 安装和 COM 自动化的运行服务中生成报告、信件和合同——非常适合 Docker 容器或云函数。构建一个 Document,使用 DocumentBuilder 驱动它,并保存结果:

using Aspose.Words;

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

builder.Writeln("Hello, Aspose.Words FOSS!");

doc.Save("output.docx");

由于该库面向 .NET Standard 2.0 且没有本机依赖,同一段代码在 Windows、Linux 和 macOS 主机上均可直接运行。


基于模板的文档自动化

打开已有的 DOCX 模板,将构建器的光标移动到指定书签处,并在该位置写入新内容——这是在固定布局中填充合同、信件或发票的常见模式:

using Aspose.Words;

Document doc = new Document("template.docx");
DocumentBuilder builder = new DocumentBuilder(doc);

builder.MoveToBookmark("CustomerName");
builder.Write("Acme Corp");

doc.Save("output.docx");

DocumentBuilder 还提供 MoveToSection()、MoveToParagraph() 和 MoveToStructuredDocumentTag() 用于定位模板的其他部分,以及 Document.AppendDocument() / NodeImporter 用于将多个源文档中提取的内容合并为单个输出文件。


DOCX 变体、Markdown 与纯文本之间的格式转换

在一种受支持的格式中加载文档并将其保存为另一种格式 — DOCX、DOCM、DOTX、DOTM 和 Flat OPC 均使用相同的 OOXML 读取器/写入器,Markdown 和纯文本也同样支持双向转换:

using Aspose.Words;

Document doc = new Document("report.docx");
doc.Save("report.md");

相同的模式也可逆向使用 — 加载 .md 文件并将其保存为 .docx — 这对于将 Markdown 编写的文档转换为可分发的 Word 文件,或将 DOCX 内容导入基于 Markdown 的静态站点流水线非常有用。


用于搜索和索引的文本提取

从文档中提取纯文本内容,以用于搜索索引、文本分析流水线或快速内容预览,无需在 Word 中渲染或打开文件:

using Aspose.Words;

Document doc = new Document("contract.docx");
string text = doc.GetText();

GetText() 可在 Document 上以及各个节点(CompositeNode.GetText()、Node.GetText()、Row.GetText() 等)上使用,因此您可以从整个文档或其特定部分提取文本。


批量文档处理

在单个脚本中对目录中的文件应用相同的加载-修改-保存序列 — 例如,将整个 DOCX 文件夹转换为 Markdown:

using Aspose.Words;
using System.IO;

foreach (string path in Directory.GetFiles("incoming", "*.docx"))
{
    Document doc = new Document(path);
    doc.Save(Path.ChangeExtension(path, ".md"));
}

每个文件都会独立加载、转换和保存,因此相同的循环可以适配任何受支持的源格式和目标格式组合。


另请参阅

 中文