Class FieldAuthor

FieldAuthor class

实现 AUTHOR 字段。

public class FieldAuthor : Field

构造函数

姓名描述
FieldAuthor()默认构造函数。

特性

姓名描述
AuthorName { get; set; }获取或设置文档作者姓名。
DisplayResult { get; }获取表示显示字段结果的文本。
End { get; }获取代表字段end的节点。
Format { get; }得到一个FieldFormat提供对字段格式的类型化访问的对象。
IsDirty { get; set; }获取或设置字段的当前结果是否由于对文档的其他修改而不再正确(陈旧)。
IsLocked { get; set; }获取或设置字段是否被锁定(不应重新计算其结果)。
LocaleId { get; set; }获取或设置字段的LCID。
Result { get; set; }获取或设置字段分隔符和字段结尾之间的文本。
Separator { get; }获取表示字段分隔符的节点。可以为空。
Start { get; }获取表示字段开始的节点。
virtual Type { get; }获取 Microsoft Word 字段类型。

方法

姓名描述
GetFieldCode()返回字段开始和字段分隔符之间的文本(或字段结束,如果没有分隔符)。 包括子字段的字段代码和字段结果。
GetFieldCode(bool)返回字段开始和字段分隔符之间的文本(如果没有分隔符,则返回字段结束)。
Remove()从文档中删除字段。在字段之后返回一个节点。如果字段的结尾是其父节点的最后一个 child ,则返回其父段落。如果该字段已被删除,则返回 无效的.
Unlink()执行字段取消链接。
Update()执行字段更新。如果该字段已被更新,则抛出。
Update(bool)执行字段更新。如果该字段已被更新,则抛出。

评论

检索并可选择设置文档作者的姓名,如记录在 作者 内置文档属性的属性。

例子

演示如何使用 AUTHOR 字段来显示文档创建者的姓名。

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

// 作者字段从名为“作者”的内置文档属性中获取结果。
// 如果我们在 Microsoft Word 中创建并保存一个文档,
// 它将在该属性中包含我们的用户名。
// 但是,如果我们使用 Aspose.Words 以编程方式创建文档,
 // 默认情况下,“Author”属性将是一个空字符串。
Assert.AreEqual(string.Empty, doc.BuiltInDocumentProperties.Author);

// 为要使用的 AUTHOR 字段设置备份作者姓名
// 如果“Author”属性包含一个空字符串。
doc.FieldOptions.DefaultDocumentAuthor = "Joe Bloggs";

builder.Write("This document was created by ");
FieldAuthor field = (FieldAuthor)builder.InsertField(FieldType.FieldAuthor, true);
field.Update();

Assert.AreEqual(" AUTHOR ", field.GetFieldCode());
Assert.AreEqual("Joe Bloggs", field.Result);

// 更新包含值的 AUTHOR 字段
// 将该值应用于“作者”内置属性。
Assert.AreEqual("Joe Bloggs", doc.BuiltInDocumentProperties.Author);

// 更改此属性,然后更新 AUTHOR 字段会将此值应用于该字段。
doc.BuiltInDocumentProperties.Author = "John Doe";      
field.Update();

Assert.AreEqual(" AUTHOR ", field.GetFieldCode());
Assert.AreEqual("John Doe", field.Result);

// 如果我们在更改其“名称”属性后更新 AUTHOR 字段,
// 然后该字段将显示新名称并将新名称应用于内置属性。
field.AuthorName = "Jane Doe";
field.Update();

Assert.AreEqual(" AUTHOR  \"Jane Doe\"", field.GetFieldCode());
Assert.AreEqual("Jane Doe", field.Result);

// AUTHOR 字段不影响 DefaultDocumentAuthor 属性。
Assert.AreEqual("Jane Doe", doc.BuiltInDocumentProperties.Author);
Assert.AreEqual("Joe Bloggs", doc.FieldOptions.DefaultDocumentAuthor);

doc.Save(ArtifactsDir + "Field.AUTHOR.docx");

也可以看看