C# 如何设置、读取Word文档属性
简述
文档属性定义了文件的某种独特性质,通过设置文档属性可以将文档分为不同类型的文件,以便存放和传输。属性中的描述性的信息,也可以用来帮助我们查找和整理文件。下面的示例中将展示如何通过C#来Word文档属性进行相关操作。
设计以下操作要点:
- 设置Word文档属性
- 读取Word文档属性信息
使用工具
- Free Spire.Doc for .NET 6.3 (社区版)
PS:安装后,注意在项目程序中添加引用Spire.Doc.dll文件(dll文件可在安装路径下Bin文件夹中获取)
示例代码
1. 设置Word属性
【C#】
using Spire.Doc;
using System;
namespace SetWordProperties_Doc
{
class Program
{
static void Main(string[] args)
{
//实例化Document类,加载文件
Document document = new Document();
document.LoadFromFile("test.docx");
//添加摘要信息
document.BuiltinDocumentProperties.Title = " 如何设置Word文档属性";
document.BuiltinDocumentProperties.Subject = "测试";
document.BuiltinDocumentProperties.Author = "Mia";
document.BuiltinDocumentProperties.Manager = "Anny";
document.BuiltinDocumentProperties.Company = "Alibaba";
document.BuiltinDocumentProperties.Keywords = "C#, Word属性, Demo";
document.BuiltinDocumentProperties.Comments = "This document is just a demo.";
document.BuiltinDocumentProperties.Category = "测试类";
document.BuiltinDocumentProperties.RevisionNumber = "2";
//添加自定义属性
CustomDocumentProperties custom = document.CustomDocumentProperties;
custom.Add("Authorized", true);
custom.Add("Authorized By", "Joe");
custom.Add("Authorized Date", DateTime.Today);
删除自定义属性
//Document document = new Document("Sample.doc");
//document.CustomDocumentProperties.Remove("Alibaba");
//保存并打开文档
document.SaveToFile("result.docx", FileFormat.Docx2010);
System.Diagnostics.Process.Start("result.docx");
}
}
}
注意,Spire.Doc支持关于word的属性设置有30多种,开发者们可根据需要自行选择相应的文档属性类型来设置。
测试结果:
2. 读取Word文档属性信息
【C#】
using Spire.Doc;
using System;
namespace ReadWordProperties_Doc
{
class Program
{
static void Main(string[] args)
{
//创建一个Document实例
Document doc = new Document();
//加载一个现有Word文档
doc.LoadFromFile("test.docx");
//获取摘要
Console.WriteLine("摘要\n");
Console.WriteLine("标题: " + doc.BuiltinDocumentProperties.Title);
Console.WriteLine("主题: " + doc.BuiltinDocumentProperties.Subject);
Console.WriteLine("作者: " + doc.BuiltinDocumentProperties.Author);
Console.WriteLine("主管: " + doc.BuiltinDocumentProperties.Manager);
Console.WriteLine("单位: " + doc.BuiltinDocumentProperties.Company);
Console.WriteLine("类别: " + doc.BuiltinDocumentProperties.Category);
Console.WriteLine("关键字: " + doc.BuiltinDocumentProperties.Keywords);
Console.WriteLine("备注: " + doc.BuiltinDocumentProperties.Comments);
Console.WriteLine("修订号: " + doc.BuiltinDocumentProperties.RevisionNumber);
//获取自定义属性
Console.WriteLine("\n自定义属性\n");
for (int i = 0; i < doc.CustomDocumentProperties.Count; i++)
{
Console.WriteLine(doc.CustomDocumentProperties[i].Name + ": " + doc.CustomDocumentProperties[i].Value);
}
Console.Read();
}
}
}
完成代码后,调试运行代码,生成文档
读取结果: