Aspose::Words::Fields::FieldAuthor class
Contents
[
Hide
]FieldAuthor class
Implements the AUTHOR field. To learn more, visit the Working with Fields documentation article.
class FieldAuthor : public Aspose::Words::Fields::Field
Methods
Method | Description |
---|---|
get_AuthorName() | Gets or sets the document author’s name. |
get_DisplayResult() | Gets the text that represents the displayed field result. |
get_End() const | Gets the node that represents the field end. |
get_FieldEnd() const | Gets the node that represents the field end. |
get_FieldStart() const | Gets the node that represents the start of the field. |
get_Format() | Gets a FieldFormat object that provides typed access to field’s formatting. |
get_IsDirty() | Gets whether the current result of the field is no longer correct (stale) due to other modifications made to the document. |
get_IsLocked() | Gets or sets whether the field is locked (should not recalculate its result). |
get_LocaleId() | Gets or sets the LCID of the field. |
get_Result() | Gets or sets text that is between the field separator and field end. |
get_Separator() | Gets the node that represents the field separator. Can be null. |
get_Start() const | Gets the node that represents the start of the field. |
virtual get_Type() const | Gets the Microsoft Word field type. |
GetFieldCode() | Returns text between field start and field separator (or field end if there is no separator). Both field code and field result of child fields are included. |
GetFieldCode(bool) | Returns text between field start and field separator (or field end if there is no separator). |
GetType() const override | |
Is(const System::TypeInfo&) const override | |
Remove() | Removes the field from the document. Returns a node right after the field. If the field’s end is the last child of its parent node, returns its parent paragraph. If the field is already removed, returns null. |
set_AuthorName(const System::String&) | Setter for Aspose::Words::Fields::FieldAuthor::get_AuthorName. |
set_IsDirty(bool) | Sets whether the current result of the field is no longer correct (stale) due to other modifications made to the document. |
set_IsLocked(bool) | Setter for Aspose::Words::Fields::Field::get_IsLocked. |
set_LocaleId(int32_t) | Setter for Aspose::Words::Fields::Field::get_LocaleId. |
set_Result(const System::String&) | Setter for Aspose::Words::Fields::Field::get_Result. |
static Type() | |
Unlink() | Performs the field unlink. |
Update() | Performs the field update. Throws if the field is being updated already. |
Update(bool) | Performs a field update. Throws if the field is being updated already. |
Examples
Shows how to use an AUTHOR field to display a document creator’s name.
auto doc = MakeObject<Document>();
auto builder = MakeObject<DocumentBuilder>(doc);
// AUTHOR fields source their results from the built-in document property called "Author".
// If we create and save a document in Microsoft Word,
// it will have our username in that property.
// However, if we create a document programmatically using Aspose.Words,
// the "Author" property, by default, will be an empty string.
ASSERT_EQ(String::Empty, doc->get_BuiltInDocumentProperties()->get_Author());
// Set a backup author name for AUTHOR fields to use
// if the "Author" property contains an empty string.
doc->get_FieldOptions()->set_DefaultDocumentAuthor(u"Joe Bloggs");
builder->Write(u"This document was created by ");
auto field = System::ExplicitCast<FieldAuthor>(builder->InsertField(FieldType::FieldAuthor, true));
field->Update();
ASSERT_EQ(u" AUTHOR ", field->GetFieldCode());
ASSERT_EQ(u"Joe Bloggs", field->get_Result());
// Updating an AUTHOR field that contains a value
// will apply that value to the "Author" built-in property.
ASSERT_EQ(u"Joe Bloggs", doc->get_BuiltInDocumentProperties()->get_Author());
// Changing this property, then updating the AUTHOR field will apply this value to the field.
doc->get_BuiltInDocumentProperties()->set_Author(u"John Doe");
field->Update();
ASSERT_EQ(u" AUTHOR ", field->GetFieldCode());
ASSERT_EQ(u"John Doe", field->get_Result());
// If we update an AUTHOR field after changing its "Name" property,
// then the field will display the new name and apply the new name to the built-in property.
field->set_AuthorName(u"Jane Doe");
field->Update();
ASSERT_EQ(u" AUTHOR \"Jane Doe\"", field->GetFieldCode());
ASSERT_EQ(u"Jane Doe", field->get_Result());
// AUTHOR fields do not affect the DefaultDocumentAuthor property.
ASSERT_EQ(u"Jane Doe", doc->get_BuiltInDocumentProperties()->get_Author());
ASSERT_EQ(u"Joe Bloggs", doc->get_FieldOptions()->get_DefaultDocumentAuthor());
doc->Save(ArtifactsDir + u"Field.AUTHOR.docx");
See Also
- Class Field
- Namespace Aspose::Words::Fields
- Library Aspose.Words for C++