Aspose::Words::Fields::FieldAuthor класс

FieldAuthor class

Реализует поле AUTHOR. Чтобы узнать больше, посетите статью документации Working with Fields.

class FieldAuthor : public Aspose::Words::Fields::Field

Методы

МетодОписание
get_AuthorName()Получает или задает имя автора документа.
get_DisplayResult()Получает текст, представляющий отображаемый результат поля.
get_End() constПолучает узел, представляющий конец поля.
get_FieldEnd() constПолучает узел, представляющий конец поля.
get_FieldStart() constПолучает узел, представляющий начало поля.
get_Format()Получает объект FieldFormat, который предоставляет типизированный доступ к форматированию поля.
get_IsDirty()Получает или задает, является ли текущий результат поля более некорректным (устаревшим) из‑за других изменений, внесённых в документ.
get_IsLocked()Получает или задает, заблокировано ли поле (не должно пересчитывать свой результат).
get_LocaleId()Получает или задает LCID поля.
get_Result()Получает или задает текст, находящийся между разделителем поля и его концом.
get_Separator()Получает узел, представляющий разделитель поля. Может быть null.
get_Start() constПолучает узел, представляющий начало поля.
virtual get_Type() constПолучает тип поля Microsoft Word.
GetFieldCode()Возвращает текст между началом поля и разделителем поля (или концом поля, если разделитель отсутствует). Включены как код поля, так и результат дочерних полей.
GetFieldCode(bool)Возвращает текст между началом поля и разделителем поля (или концом поля, если разделитель отсутствует).
GetType() const override
Is(const System::TypeInfo&) const override
virtual Remove()Удаляет поле из документа. Возвращает узел сразу после поля. Если конец поля является последним дочерним элементом его родительского узла, возвращает родительский абзац. Если поле уже удалено, возвращает null.
set_AuthorName(const System::String&)Сеттер для Aspose::Words::Fields::FieldAuthor::get_AuthorName.
set_IsDirty(bool)Сеттер для Aspose::Words::Fields::Field::get_IsDirty.
set_IsLocked(bool)Сеттер для Aspose::Words::Fields::Field::get_IsLocked.
set_LocaleId(int32_t)Сеттер для Aspose::Words::Fields::Field::get_LocaleId.
set_Result(const System::String&)Сеттер для Aspose::Words::Fields::Field::get_Result.
static Type()
Unlink()Выполняет отсоединение поля.
Update()Выполняет обновление поля. Вызывает исключение, если поле уже обновляется.
Update(bool)Выполняет обновление поля. Выбрасывает исключение, если поле уже обновляется.

Примеры

Показывает, как использовать поле AUTHOR для отображения имени создателя документа.

auto doc = System::MakeObject<Aspose::Words::Document>();
auto builder = System::MakeObject<Aspose::Words::DocumentBuilder>(doc);

// Поля AUTHOR получают свои результаты из встроенного свойства документа под названием "Author".
// Если мы создаём и сохраняем документ в Microsoft Word,
// в этом свойстве будет указано наше имя пользователя.
// Однако, если мы создаём документ программно с помощью Aspose.Words,
// свойство "Author" по умолчанию будет пустой строкой.
ASSERT_EQ(System::String::Empty, doc->get_BuiltInDocumentProperties()->get_Author());

// Установите резервное имя автора для использования полями AUTHOR
// если свойство "Author" содержит пустую строку.
doc->get_FieldOptions()->set_DefaultDocumentAuthor(u"Joe Bloggs");

builder->Write(u"This document was created by ");
auto field = System::ExplicitCast<Aspose::Words::Fields::FieldAuthor>(builder->InsertField(Aspose::Words::Fields::FieldType::FieldAuthor, true));
field->Update();

ASSERT_EQ(u" AUTHOR ", field->GetFieldCode());
ASSERT_EQ(u"Joe Bloggs", field->get_Result());

// Обновление поля AUTHOR, содержащего значение
// применит это значение к встроенному свойству "Author".
ASSERT_EQ(u"Joe Bloggs", doc->get_BuiltInDocumentProperties()->get_Author());

// Изменив это свойство, а затем обновив поле AUTHOR, вы примените это значение к полю.
doc->get_BuiltInDocumentProperties()->set_Author(u"John Doe");
field->Update();

ASSERT_EQ(u" AUTHOR ", field->GetFieldCode());
ASSERT_EQ(u"John Doe", field->get_Result());

// Если мы обновим поле AUTHOR после изменения его свойства "Name",
// тогда поле отобразит новое имя и применит новое имя к встроенному свойству.
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 не влияют на свойство DefaultDocumentAuthor.
ASSERT_EQ(u"Jane Doe", doc->get_BuiltInDocumentProperties()->get_Author());
ASSERT_EQ(u"Joe Bloggs", doc->get_FieldOptions()->get_DefaultDocumentAuthor());

doc->Save(get_ArtifactsDir() + u"Field.AUTHOR.docx");

См. также