Вставка полей

Существует несколько различных способов вставки полей в документ:

В этой статье мы рассмотрим каждый из способов более подробно и проанализируем, как вставлять определенные поля, используя эти опции.

Вставка полей в документ с помощью DocumentBuilder

В случае Aspose.Words метод InsertField используется для вставки новых полей в документ. Первый параметр принимает полный код поля, которое необходимо вставить. Второй параметр является необязательным и позволяет вручную задать результат заполнения поля. Если это значение не указано, поле обновляется автоматически. Вы можете задать значение null или empty для этого параметра, чтобы вставить поле с пустым значением. Если вы не уверены в синтаксисе конкретного кода поля, сначала создайте поле в Microsoft Word и переключитесь, чтобы просмотреть его код.

В следующем примере кода показано, как вставить поле слияния в документ с помощью DocumentBuilder:

Тот же метод используется для вставки полей, вложенных в другие поля.

В следующем примере кода показано, как вставить поля, вложенные в другое поле, используя DocumentBuilder:

Укажите языковой стандарт на уровне поля

Идентификатор языка - это стандартное международное цифровое сокращение для обозначения языка в стране или географическом регионе. С помощью Aspose.Words вы можете указать языковой стандарт на уровне поля, используя свойство LocaleId, которое возвращает или задает языковой идентификатор поля.

В следующем примере кода показано, как использовать эту опцию:

Вставить Нетипизированное/пустое поле

Если вы хотите вставить нетипизированные/пустые поля ({}), как это позволяет Microsoft Word, вы можете использовать метод InsertField с параметром FieldType.FieldNone. Чтобы вставить поле в документ Word, вы можете нажать комбинацию клавиш “Ctrl + F9”.

В следующем примере кода показано, как вставить пустое поле в документ:

Вставка полей в документ с помощью FieldBuilder

Альтернативным способом вставки полей в Aspose.Words является класс FieldBuilder. Он предоставляет удобный интерфейс для указания переключателей полей и значений аргументов в виде текста, узлов или даже вложенных полей.

В следующем примере кода показано, как вставить поле в документ с помощью FieldBuilder:

Вставка полей с помощью DOM

Вы также можете вставлять поля различных типов, используя Aspose.Words Объектную модель документа (DOM). В этом разделе мы рассмотрим несколько примеров.

Вставка поля слияния в документ с помощью DOM

Поле MERGEFIELD в документе Word может быть представлено классом FieldMergeField. Класс FieldMergeField можно использовать для выполнения следующих операций:

  • укажите название поля для объединения
  • укажите форматирование поля для объединения
  • укажите текст, который находится между разделителем полей и концом поля в поле объединения
  • укажите текст, который будет вставлен после поля объединения, если это поле не является пустым
  • укажите текст, который будет вставлен перед полем объединения, если это поле не является пустым

В следующем примере кода показано, как добавить поле MERGE с помощью DOM в абзац документа:

Вставка поля адресного блока Mail Merge в документ с использованием DOM

Поле ADDRESSBLOCK используется для вставки адресного блока mail merge в документ Word. Поле ADDRESSBLOCK в документе Word может быть представлено классом FieldAddressBlock. Класс FieldAddressBlock можно использовать для выполнения следующих операций:

  • укажите, следует ли указывать название страны/региона в этом поле
  • укажите, следует ли форматировать адрес в соответствии со страной/регионом получателя, указанным в почтовом индексе* (Всемирный почтовый союз, 2006)
  • укажите название исключенной страны/региона
  • укажите формат имени и адреса
  • укажите идентификатор языка, используемый для форматирования адреса

В следующем примере кода показано, как добавить поле Mail Merge ADDRESSBLOCK с помощью DOM в абзац документа:

Вставка поля Advance в документ без использования DocumentBuilder

Поле ADVANCE используется для смещения последующего текста в строке влево, вправо, вверх или вниз. Поле ADVANCE в документе Word может быть представлено классом FieldAdvance. Класс FieldAdvance можно использовать для выполнения следующих операций:

  • укажите количество точек, на которые текст, следующий за полем, должен быть перемещен по вертикали от верхнего края страницы
  • укажите количество точек, на которое текст, следующий за полем, должен быть перемещен по горизонтали от левого края столбца, рамки или текстового поля
  • укажите количество точек, на которые текст, следующий за полем, должен быть перемещен влево, вправо, вверх или вниз

В следующем примере кода показано, как добавить поле ADVANCE с помощью DOM в абзац документа:

Вставка поля ASK в документ без использования DocumentBuilder

Поле ASK используется для запроса текста, который пользователь должен присвоить закладке в документе Word. Поле ASK в документе Word может быть представлено классом FieldAsk. Класс FieldAsk можно использовать для выполнения следующих операций:

  • укажите название закладки
  • укажите ответ пользователя по умолчанию (начальное значение, содержащееся в окне запроса)
  • укажите, должен ли ответ пользователя быть получен один раз за операцию mail merge
  • укажите текст запроса (заголовок окна запроса)

В следующем примере кода показано, как добавить поле ASK с помощью DOM в абзац документа:

Вставка поля AUTHOR в документ без использования DocumentBuilder

Поле AUTHOR используется для указания имени автора документа в свойствах Document. Поле AUTHOR в документе Word может быть представлено классом FieldAuthor. Класс FieldAuthor можно использовать для выполнения следующих операций:

  • укажите имя автора документа

В следующем примере кода показано, как добавить поле AUTHOR с помощью DOM в абзац документа:

Вставка поля INCLUDETEXT в документ без использования DocumentBuilder

В поле INCLUDETEXT вставляется текст и графические изображения, содержащиеся в документе, название которого указано в коде поля. Вы можете вставить весь документ или часть документа, на который ссылается закладка. Это поле в документе Word представлено параметром INCLUDETEXT. Вы можете использовать класс FieldIncludeText для выполнения следующих операций:

  • укажите название закладки для включенного документа
  • укажите местоположение документа

В следующем примере кода показано, как добавить поле INCLUDETEXT с помощью DOM в абзац документа:

Вставка поля TOA в документ без использования DocumentBuilder

В поле TOA (Table of Authorities) создается и вставляется таблица полномочий. В поле TOA собираются записи, помеченные полями TA (Table of Authorities Entry). Microsoft Office Word вставляет поле TOA, когда вы нажимаете Insert Table of Authorities в группе Table of Authorities на вкладке References. При просмотре поля TOA в вашем документе синтаксис будет выглядеть следующим образом:

{ TOA [Switches ] }

В следующем примере кода показано, как добавить поле TOA с помощью DOM в абзац документа:

/