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"));
}每个文件都会独立加载、转换和保存,因此相同的循环可以适配任何受支持的源格式和目标格式组合。