使用内容控制SDT

在Microsoft Word中,您可以通过从模板开始并添加内容控件(包括checkboxes、文本框、日期选择器和下拉列表)来创建表单。 在Aspose.Words中,来自加载到Aspose.Words中的任何文档的结构化文档标记或内容控件作为StructuredDocumentTag节点导入。 结构化文档标签(SDT或内容控件)允许将客户定义的语义及其行为和外观嵌入到文档中。

StructuredDocumentTag可以在以下位置出现在文档中:

  • 块级-在段落和表格中,作为正文、HeaderFooter、注释、脚注或形状节点的子级。
  • 行级别-表中的行之间,作为表节点的子节点。
  • 单元格级别-在表行中的单元格之间,作为行节点的子节点。
  • 内联级别-内联内容之间,作为段落的子级。
  • 嵌套在另一个StructuredDocumentTag内。

将内容控件插入到文档中

在此版本的Aspose.Words中,可以创建以下类型的SDT或内容控件:

  • Checkbox
  • DropDownList
  • ComboBox
  • 日期
  • BuildingBlockGallery
  • 团体
  • Picture
  • RichText
  • PlainText

下面的代码示例演示如何创建类型为checkbox的内容控件:

下面的代码示例演示如何创建富文本框类型的内容控件:

下面的代码示例演示如何创建组合框类型的内容控件:

如何更新内容控件

本节介绍如何以编程方式更新SDT或内容控件的值。

下面的代码示例演示如何设置checkbox的当前状态:

下面的代码示例演示如何修改纯文本框、下拉列表和图片类型的内容控件:

将内容控件绑定到自定义XML部件

您可以将内容控件与Word文档中的XML数据(custom XML part)绑定。

下面的代码示例演示如何将内容控件绑定到自定义XML部件:

清除内容控件的内容

您可以通过显示占位符来清除内容控件的内容。 **StructuredDocumentTag.clear()**方法清除此结构化文档标记的内容,并在定义占位符时显示占位符。 但是,如果内容控件具有修订,则无法清除其内容控件的内容。 如果内容控件没有占位符,则会像MSWord中那样插入五个空格(重复部分、重复部分项、组、复选框、引用除外)。 如果内容控件映射到自定义XML,则引用的XML节点将被清除。

下面的代码示例演示如何清除内容控件的内容:

更改内容控制背景和边框颜色

StructuredDocumentTag.Color属性允许您获取或设置内容控件的颜色。 颜色在两种情况下影响内容控制:

  1. MSWord当鼠标移到内容控件上时,突出显示内容控件的背景。 这有助于识别内容控制。 突出显示的颜色比Color有点"柔和"。 例如,当Color为红色时,MSWord以粉红色突出显示背景。
  2. 当您与内容控件交互(编辑,选择等)时,内容控件的边框用Color着色。

下面的代码示例演示如何更改内容控件的颜色:

如何设置样式以格式化输入到内容控件中的文本

如果要设置内容控件的样式,可以使用StructuredDocumentTag.StyleStructuredDocumentTag.StyleName属性。 当您将文本键入输出文档中的内容控件时,键入的文本将具有样式"Quote"。

下面的代码示例演示如何设置内容控件的样式:

使用重复部分内容控制

重复部分内容控件允许重复其中包含的内容。 使用Aspose.Words,可以创建重复部分和重复部分项类型的结构化文档标记节点,为此,SdtType枚举类型提供REPEATING_SECTION_ITEM成员。

下面的代码示例演示如何将重复部分内容控件绑定到表: