Работа с системой управления контентом SDT

В Microsoft Word вы можете создать форму, начав с шаблона и добавив элементы управления содержимым, включая элементы checkbox, текстовые поля, средства выбора даты и выпадающие списки. В Aspose.Words тег структурированного документа или элемент управления содержимым из любого документа, загруженного в Aspose.Words, импортируется как узел StructuredDocumentTag. Теги структурированного документа (SDT или элемент управления содержимым) позволяют внедрять в документ семантику, определенную пользователем, а также его поведение и внешний вид. StructuredDocumentTag может встречаться в документе в следующих местах:

  • На уровне блоков - между абзацами и таблицами, как дочерний элемент узла Body, HeaderFooter, Comment, Footnote или Shape
  • На уровне строк - среди строк в таблице, как дочерний элемент узла Table
  • На уровне ячейки - среди ячеек в строке таблицы, как дочерний элемент узла Row
  • Встроенный уровень - среди встроенного содержимого внутри, как дочерний элемент Paragraph
  • Вложенный в другой StructuredDocumentTag

Вставка элементов управления содержимым в документ

В этой версии Aspose.Words могут быть созданы следующие типы SDT или элементов управления содержимым:

  • Checkbox
  • DropDownList
  • ComboBox
  • Дата
  • BuildingBlockGallery
  • Группа
  • Picture
  • RichText
  • PlainText

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

В следующем примере кода показано, как создать элемент управления содержимым типа rich text box.

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

Как обновить элементы управления контентом

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

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

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

Привязка элемента управления содержимым к пользовательским частям XML

Вы можете привязать элементы управления содержимым к данным XML (custom XML part) в документах Word.

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

XMLMapping из диапазона тегов структурированного документа

Вы можете получить сопоставление этого диапазона тегов структурированного документа с данными XML в пользовательской части текущего документа XML, используя свойство StructuredDocumentTagRangeStart.xml_mapping. Однако для сопоставления диапазона тегов структурированного документа с данными XML можно использовать метод set_mapping.

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

Очистить содержимое элемента управления содержимым

Вы можете очистить содержимое элемента управления содержимым, отобразив заполнитель. StructuredDocumentTag.clear метод очищает содержимое этого тега структурированного документа и отображает заполнитель, если он определен. Однако очистить содержимое элемента управления контентом, если в нем есть изменения, невозможно. Если элемент управления содержимым не имеет заполнителя, вставляются пять пробелов, как в MS Word (за исключением повторяющихся разделов, элементов раздела, групп, флажков, цитат). Если элемент управления содержимым сопоставлен пользовательскому XML, узел, на который ссылается XML, очищается.

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

Изменение цвета фона и границ элементов управления содержимым

Свойство StructuredDocumentTag.color позволяет получить или задать цвет элемента управления содержимым. Цвет влияет на управление содержимым в двух ситуациях:

  1. MS Word выделяет фон элемента управления содержимым при наведении курсора мыши на элемент управления содержимым. Это помогает идентифицировать элемент управления содержимым. Цвет выделения немного “мягче”, чем color. Например, слово MS выделяет фон розовым цветом, в то время как color - красным.
  2. Когда вы взаимодействуете (редактируете, выбираете и т.д.) с элементом управления контентом, граница элемента управления контентом окрашивается в цвет color.

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

Как задать стиль для форматирования текста, введенного в элемент управления содержимым

Если вы хотите задать стиль управления содержимым, вы можете использовать свойства StructuredDocumentTag.style или StructuredDocumentTag.style_name. Когда вы вводите текст в content control в выходном документе, набранный текст будет иметь стиль “Цитата”.

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

Работа с повторяющимся содержимым раздела

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

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