使用内容控制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
属性允许您获取或设置内容控件的颜色。 颜色在两种情况下影响内容控制:
- MSWord当鼠标移到内容控件上时,突出显示内容控件的背景。 这有助于识别内容控制。 突出显示的颜色比Color有点"柔和"。 例如,当Color为红色时,MSWord以粉红色突出显示背景。
- 当您与内容控件交互(编辑,选择等)时,内容控件的边框用Color着色。
下面的代码示例演示如何更改内容控件的颜色:
如何设置样式以格式化输入到内容控件中的文本
如果要设置内容控件的样式,可以使用StructuredDocumentTag.Style
或StructuredDocumentTag.StyleName
属性。 当您将文本键入输出文档中的内容控件时,键入的文本将具有样式"Quote"。
下面的代码示例演示如何设置内容控件的样式:
使用重复部分内容控制
重复部分内容控件允许重复其中包含的内容。 使用Aspose.Words,可以创建重复部分和重复部分项类型的结构化文档标记节点,为此,SdtType枚举类型提供REPEATING_SECTION_ITEM成员。
下面的代码示例演示如何将重复部分内容控件绑定到表: