sales@e-iceblue.com    |    028-81705109    |    2181348176    |    微信扫一扫    |    EN-US   |    论坛

C# 获取 word 内容控件属性

前面我们介绍了如何使用Spire.Doc 给word文档添加多种类型的内容控件,如下拉列表内容控件,纯文本内容控件,格式文本内容控件,日期选取器内容控件等。该文将介绍如何使用Spire.Doc for .NET 获取word文档中的内容控件属性,如标题,标记,值等。

首先,请查看含有内容控件的word文档及内容控件属性示例图:

C# 获取 word 内容控件属性

获取word文档内容控件及其属性

using System;
using Spire.Doc;
using Spire.Doc.Documents;
using System.Collections.Generic;

namespace WordContentControl
{
    class Program
    {
        static void Main(string[] args)
        {
            //加载含有内容控件的示例文档
            Document document = new Document();
            document.LoadFromFile("Sample.docx");

            //调用StructureTags类获取内容控件列表
            StructureTags structureTags = GetAllTags(document);
            List tagInlines = structureTags.tagInlines;

            //获取内容控件属性并输出到控制台
            for(int i = 0; i< tagInlines.Count; i++)
            {
            string alias = tagInlines[i].SDTProperties.Alias;
            string tag = tagInlines[i].SDTProperties.Tag;
            string value = tagInlines[i].SDTContent.Text;

            Console.WriteLine(alias);
            Console.WriteLine(tag);
            Console.WriteLine(value);
            Console.WriteLine("***************************");
            }
            Console.ReadKey();

        }
        
        static StructureTags GetAllTags(Document document)
        {
            
            //遍历文档并获取所有的内容控件
            StructureTags structureTags = new StructureTags();
            foreach (Section section in document.Sections)
            {
                foreach (DocumentObject obj in section.Body.ChildObjects)
                {
                    if (obj.DocumentObjectType == DocumentObjectType.Paragraph)
                    {
                        foreach (DocumentObject pobj in (obj as Paragraph).ChildObjects)
                        {
                            if (pobj.DocumentObjectType == DocumentObjectType.StructureDocumentTagInline)
                            {
                                structureTags.tagInlines.Add(pobj as StructureDocumentTagInline);
                            }
                        }
                    }

                }
            }
            return structureTags;
        }
        public class StructureTags
        {
            List<StructureDocumentTagInline> m_tagInlines;
            public List<StructureDocumentTagInline> tagInlines
            {
                get
                {
                    if (m_tagInlines == null)
                        m_tagInlines = new List<StructureDocumentTagInline>();
                    return m_tagInlines;
                }
                set
                {
                    m_tagInlines = value;
                }
            }
        }
    }
}

效果图:

C# 获取 word 内容控件属性

Spire.Doc
文档转换
Spire.Doc 转换功能详述
C# 将 HTML 保存为 PDF
C# Word 转 EPUB
C# Word 转 PCL
C# 转换 Word 文档到 PDF 时保留 Word 标题为 PDF 书签
文档操作
创建 Word 文档
C# 如何在 Word 中插入分页符和分节符
如何合并 Word 文档
启用 Word 修订功能,接受和拒绝修订
添加和获取 Word 文档摘要及属性
C# 根据分节符和分页符拆分 Word 文档
C# 在 Word 中插入下拉列表控件、文本控件、图片控件等
C# Word 添加分栏、分割线
C# 给 Word 文档添加内容控件
C# 复制 Word 文档
C# 创建 Word 目录
C# 获取 word 内容控件属性
C# 插入数学公式和符号到 Word 文档
邮件合并
C# 创建 Word 邮件合并模板并合并文本和图片
C# 插入、计数、检索和删除 Word 文档变量
使用 C# 添加 Word 域
C# 更新 Word 域
C# 在 Word 中创建交叉引用
C# 插入、删除 Word 目录
安全
C# Word 文档保护
C# 给 Word 文档添加数字签名
段落
C# 在 Word 中创建项目符号列表、多级编号列表
C# 设置 Word 文档段落缩进
C# 为 Word 文档中的指定段落/指定文字添加底色
C# 删除 Word 文档中的段落
C# 删除 Word 中的空白行
C# 读取 Word 标题大纲
页面设置
C# 设置纸张大小以及页边距
C# Word 添加行号
C# 添加 Word 页面边框
C# 为 Word 中不同的章节设置不同的页码
页面背景
C# 为 Word 文档添加文本和图片水印
C# 给 Word 文档设置背景颜色和背景图片
C# Word 删除文本水印和图片水印
文本
C# Word 查找和替换功能
C# Word 中添加和删除特殊符号
C# Word 中设置文字效果
C# 在 Word 中插入上下标
C# 读取 Word 文档的文本内容
C# 使用另一个 Word 文档替换 Word 文本
C# 用图片、表格替换 Word 文本
C# 根据 Word 的标题样式获取文字
图片和形状
C# 添加形状和形状组合到 Word 文档
C# Word 图片替换
C# 创建 Word 艺术字
C# 修改 Word 文档中图片的大小
C# Word 中添加和删除题注
C# 如何插入图片到 Word 以及提取 Word 中的图片
超链接
C# 删除 Word 超链接
C# 添加 Word 超链接
批注
C# 操作 Word 批注功能
C# 回复 Word 批注
C# 插入、提取 Word 批注中的图片
C# 读取 Word 批注中的文本内容
表格
C# 创建 Word 表格
C# 提取 Word 表格中的图片
C# 合并与拆分 Word 表格中的单元格
C# 设置 Word 表格的格式
C# 操作 Word 表格行和列
C# 在 word 表格中插入图片
C# 将 Excel 表格导入 Word
C# 复制 Word 表格行或列
书签
C# 添加,替换和删除 Word 书签
C# 获取、删除书签的内容
如何在 Word 文档的书签位置插入图片
C# 在 Word 书签位置插入表格
页眉和页脚
C# 为 Word 文档添加页眉,页脚和页码
C# 删除word文档中的页眉页脚
如何锁定页眉和页脚不被修改
C# 复制 Word 页眉/页脚
C# 调整 Word 页眉页脚的位置高度
C# 设置 Word 首页/奇偶页页眉页脚不同
脚注和尾注
使用 C# 为 Word 文档添加脚注尾注
C# 读取 Word 中的脚注和尾注内容
C# 删除 Word 中的脚注、尾注
字体
C# Word 转换到 PDF 时嵌入字体的三种方式
打印
C# 打印 Word 文档
文本框
C# 如何在 Word 中插入和删除文本框
C# 在 Word 中创建文本框
C# 插入表格到 Word 文本框以及获取和删除 Word 文本框中的表格
C# 插入图片到文本框
其他
C# Word 中添加、修改和提取 OLE
C# 在 Word 中添加条形码、二维码
如何使用 Spire.Doc for .NET Core
如何在 .NET Core 应用程序中手动添加对 Spire.Doc 的依赖
如何在 .NET Standard 项目中手动添加对 Spire.Doc 的依赖
Spire.Doc for .NET 中文教程
Spire.DocViewer
如何添加 Spire.DocViewer 控件到 Toolbox
Spire.XLS
格式转换
使用 C# 将 Excel 工作薄和 Excel 工作表保存为 PDF 格式
C# Excel 工作表和 Excel 图表保存为图片
C# 将 Excel 文件转换为 HTML 格式
C# 转换 CSV 到 Excel、PDF、Datatable
C# 将 Excel 工作簿转换到 SVG 格式
数据导入导出
C# Excel 导入导出数据
文档操作
C# Excel 插入和删除分页符
C# 创建 Excel 文件
如何设置和获取 Excel 工作薄摘要及自定义属性
C# 给 Excel 文档设置背景颜色和背景图片
C# 如何合并 Excel 文档
文档保护
C# Excel 文档保护
工作表
C# 展开和折叠 Excel 分组
C# 给 Excel 工作表添加水印
C# 复制 Excel 工作表
C# 显示和隐藏 Excel 工作表及工作表中的行与列
C# Excel 冻结窗格
C# 重命名 Excel 工作表和设置工作表标签颜色
C# Excel 创建多级分组
C# 设置 Excel 工作表视图模式和显示比例
C# 设置 Excel 中边框(网格线)样式
C# 添加与删除 Excel 工作表中的行与列
C# 将一个 Excel 工作表按指定范围拆分为多个工作表
C# 设置 Excel 自适应行高、列宽
C# 应用样式到整个 Excel 工作表
图表
C# 给 Excel 图表添加趋势线并设置其样式
C# 图表中隐藏和空单元格的设置
使用 Spire.XLS 创建 Excel 图表
C# 设置现有 Excel 图表的数据标签样式
C# Excel 自定义数据标签
C# 添加、修改和删除 Excel 迷你图
C# 制作 Excel 分离型饼图和分离型环形图
C# 创建含多层分类标签的 Excel 图表
C# 如何使用不连续的数据区域创建图表
C# 在 Excel 中创建组合图表
C# 给 Excel 图表添加误差线
C# 给 Excel 图表添加次坐标轴
C# 给 Excel 图表添加数据表
C# 填充 Excel 图表背景色
C# 在 Excel 中创建散点图表
C# 设置 Excel 图表坐标轴格式
C# 填充 Excel 图表中的图例背景色
C# 更改 Excel 图表字体及格式
C# 创建 Excel 雷达图表
C# 不使用工作表数据创建 Excel 图表
C# 在 Excel 中创建数据透视图
C# 删除 Excel 图表数据标签
单元格
合并/取消合并 Excel 单元格
C# Excel 单元格锁定和取消锁定
C# 创建 Excel 命名区域
C# 操作 Excel 命名区域
C# 缩小字体以适应单元格宽度
C# 获取 Excel 单元格的数据类型
C# 复制 Excel 单元格格式
数据处理
Excel 查找替换高亮显示数据
C# Excel 数据分组和取消分组
C# Excel 字体设置
C# 设置 Excel 中数字格式
C# Excel 中设置文字对齐方式、方向和换行
C# Excel 数据排序
C# 设置 Excel 数据验证/数据有效性
C# 在 Excel 中插入上标和下标
C# Excel 中设置筛选器并执行筛选
C# 将 Excel 单元格中的文本数据拆分为多列
图片和图形
C# Excel 插入箭头
C# Excel 图片添加、提取和删除
C# 设置 Excel 图片大小和位置
C# Excel 插入图形
C# 提取 Excel 形状中的文本和图片
C# Excel 删除图形
C# Excel 图片替换
C# Excel 插入箭头
超链接
给 Excel 表格添加超链接
C# 读取 Excel 超链接
批注
C# 添加修改及删除 Excel 批注
C# 在 Excel 文档中隐藏或显示批注
C# 读取 Excel 批注中的文本和图片
公式
C# 创建、读取 Excel 公式
C# Excel 中删除单元格的公式同时保留其计算值
页眉页脚
C# 设置 Excel 页眉页脚
C# 添加 Excel 文本水印和图片水印
打印
如何使用 C# 打印 Excel 文档
条件格式
C# 如何在 Excel 中设置条件格式
C# 应用条件格式到 Excel 单元格数据
透视表
C# 如何展开/折叠数据透视表的行
C# 为数据透视表设置边框和填充
C# 如何刷新数据透视表
C# 创建 Excel 数据透视表及设置透视表的格式
表格
C# 给 Excel 中的表格添加汇总行
C# Excel 创建表格(Table)并设置样式
其他
C# Excel 插入和删除表单控件
Excel 中插入 OLE 对象
C# 插入、删除 Excel 文本框
C# 设置 Excel 文本框内容页边距
C# 提取 Excel 文本框中的文本和图片
Spire.XLS for .NET 中文教程
Spire.Presentation
文档转换
C# PowerPoint 文档转换成 HTML 格式
C# PowerPoint 文档转换成图片、PDF、SVG 等格式文件
将 HTML 字符串转换为 PowerPoint 文档
文本和段落
C# 如何提取 PowerPoint 文档中的文本和图片
C# 添加或删除 PowerPoint 段落和设置段落样式
C# 更改 PPT 中文字方向
C# 创建幻灯片编号列表和项目符号列表
C# Presentation 文本替换
C# 设置 PowerPoint 中文字透明度
C# 为幻灯片文字设置文本边框及样式
C# 设置 PPT 文字阴影效果
C# 自定义 PPT 项目符号样式
C# 在 PPT 段落中应用多种文本格式
C# 设置 PPT 文字 3D 效果
文档操作
C# 获取 PowerPoint 中的文本信息和图片信息
C# 添加或删除 PowerPoint 幻灯片,调整幻灯片顺序
C# 创建 PowerPoint 文档
C# 给 PowerPoint 文档设置背景颜色和背景图片
C# 设置和获取 PowerPoint 文档属性
C# 隐藏和取消隐藏幻灯片
C# 创建幻灯片母版
C# PPT 中创建文本框并设置其形状格式
C# PPT 自动调整文字大小或文本框大小
C# PPT 如何修改和应用母版
C# 如何在一个 PPT 中应用多个母版
C# 新方法向 PPT 中添加 HTML
C# 获取和更改 PPT 幻灯片的标题
C# 重置 PowerPoint 日期和编号的位置
C# 隐藏幻灯片背景图形
C# 获取 PowerPoint 文档中使用的主题名称
C# 合并与拆分 PowerPoint 幻灯片
PowerPoint 中插入 OLE 对象
C# 复制 PPT 幻灯片
形状
C# 如何添加、删除 PowerPoint 图形
C# 旋转图形,重置图形的大小,位置和重叠图形的顺序
C# 如何设置和获取PowerPoint形状的可选文本
C# PPT 中如何组合形状
C# 复制 PPT 幻灯片中的形状
C# PowerPoint 调整重叠图形的位置
C# 添加圆角矩形到幻灯片
图片
C# PowerPoint 中设置图片透明
C# PPT 中如何设置图片阴影效果
C# PowerPoint 中设置图片效果
C# 将幻灯片文档中的图表,图形,表格等保存为图片
C# PowerPoint 图片替换
表格
C# 创建、删除、操作 PowerPoint 表格
C# 设置 PPT 表格中文字的对齐方式
C# 为 PowerPoint 表格设置边框类型和颜色
如何在表格单元格中添加图片
C# 拆分 PowerPoint 表格的单元格
C# 设置 PowerPoint 表格的对齐方式
图表
C# 创建 PowerPoint 图表
C# 创建 PowerPoint 堆积图
C# 添加误差线到 PowerPoint 图表
C# 删除 PowerPoint 图表中的图例项