Класс Aspose::Words::Fields::FieldAdvance

FieldAdvance class

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

class FieldAdvance : public Aspose::Words::Fields::Field,
                     public Aspose::Words::Fields::IFieldCodeTokenInfoProvider

Методы

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

Примеры

Показывает, как вставить поле ADVANCE и изменить его свойства.

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

builder->Write(u"This text is in its normal place.");

// Ниже представлены два способа использования поля ADVANCE для корректировки позиции следующего за ним текста.
// Эффекты поля ADVANCE продолжают применяться до конца абзаца,
// или другое поле ADVANCE обновляет значения смещения/координат.
// 1 - Указать направленное смещение:
auto field = System::ExplicitCast<Aspose::Words::Fields::FieldAdvance>(builder->InsertField(Aspose::Words::Fields::FieldType::FieldAdvance, true));
field->set_RightOffset(u"5");
field->set_UpOffset(u"5");

ASSERT_EQ(u" ADVANCE  \\r 5 \\u 5", field->GetFieldCode());

builder->Write(u"This text will be moved up and to the right.");

field = System::ExplicitCast<Aspose::Words::Fields::FieldAdvance>(builder->InsertField(Aspose::Words::Fields::FieldType::FieldAdvance, true));
field->set_DownOffset(u"5");
field->set_LeftOffset(u"100");

ASSERT_EQ(u" ADVANCE  \\d 5 \\l 100", field->GetFieldCode());

builder->Writeln(u"This text is moved down and to the left, overlapping the previous text.");

// 2 - Переместить текст в позицию, заданную координатами:
field = System::ExplicitCast<Aspose::Words::Fields::FieldAdvance>(builder->InsertField(Aspose::Words::Fields::FieldType::FieldAdvance, true));
field->set_HorizontalPosition(u"-100");
field->set_VerticalPosition(u"200");

ASSERT_EQ(u" ADVANCE  \\x -100 \\y 200", field->GetFieldCode());

builder->Write(u"This text is in a custom position.");

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

См. также