Spire.Doc系列教程(7):给 Word 文档添加内容控件

本文将介绍如何使用Spire.Doc组件给Word文档添加内容控件。

内容控件简介

内容控件在Word文档中充当着特定内容的容器,不同的内容控件可以指定不同的内容类型(例如日期、图片或文本等)以及能否编辑此内容。我们从Word 2013中选取了以下几种常见的内容控件进行介绍:

名称

简介

下拉列表内容控件

下拉列表包含了一个预先定义好的列表。和组合框不同的是下拉列表不允许用户编辑项。

纯文本内容控件

纯文本内容控件只能包含文本,不能包含其他项,例如表格、图片或其他内容控件。

格式文本内容控件

与纯文本内容控件不同,格式文本内容控件可以包含除文本以外的其他项,例如表格、图片或其他内容控件。

日期选取器内容控件

日期选取器内容控件包含一个日历控件,用于帮助用户输入日期。

组合框内容控件

组合框控件包含一个可以直接编辑的列表。它结合了文本框和下拉列表的属性,用户可以在框中键入值或者从下拉列表中选择值。

图片内容控件

图片内容控件用于显示图片。用户可以在制作模板时指定图片,也可以通过单击此控件来选择需要插入的图片。

添加内容控件

Spire.Doc组件支持用户在Word文档中添加多种内容控件。以下代码将展示如何使用Spire.Doc组件给Word文档添加上述表格中所介绍的内容控件。

//创建一个新的word文档 Document document = new Document();//添加一个section到文档Section section = document.AddSection();//添加一个段落到sectionParagraph paragraph = section.AddParagraph();//添加下拉列表内容控件StructureDocumentTagInline sdt = new StructureDocumentTagInline(document);paragraph.ChildObjects.Add(sdt);sdt.SDTProperties.SDTType = SdtType.DropDownList;//为控件设置标题和标签sdt.SDTProperties.Alias = "下拉列表";sdt.SDTProperties.Tag = "下拉列表";//添加下拉选项SdtDropDownList sddl = new SdtDropDownList();sddl.ListItems.Add(new SdtListItem("男", "1"));sddl.ListItems.Add(new SdtListItem("女", "2"));sdt.SDTProperties.ControlProperties = sddl;//设置控件显示的初始选项TextRange rt = new TextRange(document);rt.Text = sddl.ListItems[0].DisplayText;sdt.SDTContent.ChildObjects.Add(rt);//添加纯文本内容控件 paragraph = section.AddParagraph();sdt = new StructureDocumentTagInline(document);paragraph.ChildObjects.Add(sdt);sdt.SDTProperties.SDTType = SdtType.Text;//为控件设置标题和标签sdt.SDTProperties.Alias = "纯文本";sdt.SDTProperties.Tag = "纯文本";//设置显示文本SdtText text = new SdtText(false);text.IsMultiline = true;sdt.SDTProperties.ControlProperties = text;rt = new TextRange(document);rt.Text = "此处只能输入文本";sdt.SDTContent.ChildObjects.Add(rt);//添加格式文本内容控件 paragraph = section.AddParagraph();sdt = new StructureDocumentTagInline(document);paragraph.ChildObjects.Add(sdt);sdt.SDTProperties.SDTType = SdtType.RichText;//为控件设置标题和标签sdt.SDTProperties.Alias = "格式文本";sdt.SDTProperties.Tag = "格式文本";//设置显示文本SdtText richText = new SdtText(true);richText.IsMultiline = true;sdt.SDTProperties.ControlProperties = richText;rt = new TextRange(document);rt.Text = "输入格式化的文本、表格和图片等";sdt.SDTContent.ChildObjects.Add(rt);//添加日期选取器内容控件 paragraph = section.AddParagraph();sdt = new StructureDocumentTagInline(document);paragraph.ChildObjects.Add(sdt);sdt.SDTProperties.SDTType = SdtType.DatePicker;//为控件设置标题和标签sdt.SDTProperties.Alias = "日期选取器";sdt.SDTProperties.Tag = "日期选取器";//设置日历模式SdtDate date = new SdtDate();date.CalendarType = CalendarType.Default;date.DateFormat = "yyyy.MM.dd";date.FullDate = DateTime.Now;sdt.SDTProperties.ControlProperties = date;//设置显示日期rt = new TextRange(document);rt.Text = "1990.02.08";sdt.SDTContent.ChildObjects.Add(rt);//添加组合框内容控件 paragraph = section.AddParagraph();sdt = new StructureDocumentTagInline(document);paragraph.ChildObjects.Add(sdt);sdt.SDTProperties.SDTType = SdtType.ComboBox;//为控件设置标题和标签sdt.SDTProperties.Alias = "组合框";sdt.SDTProperties.Tag = "组合框";//添加选项SdtComboBox cb = new SdtComboBox();cb.ListItems.Add(new SdtListItem("英国", "1"));cb.ListItems.Add(new SdtListItem("日本", "2"));cb.ListItems.Add(new SdtListItem("意大利", "3"));sdt.SDTProperties.ControlProperties = cb;//添加显示文本rt = new TextRange(document);rt.Text = cb.ListItems[0].DisplayText;sdt.SDTContent.ChildObjects.Add(rt);//添加图片内容控件 paragraph = section.AddParagraph();sdt = new StructureDocumentTagInline(document);paragraph.ChildObjects.Add(sdt);sdt.SDTProperties.SDTType = SdtType.Picture;//为控件设置标题和标签sdt.SDTProperties.Alias = "图片";sdt.SDTProperties.Tag = "图片";//添加图片DocPicture pic = new DocPicture(document) { Width = 10, Height = 10 };pic.LoadImage(Image.FromFile(@"C:UsersAdministratorDesktopYourLogo.png"));sdt.SDTContent.ChildObjects.Add(pic);//保存文档   document.SaveToFile("Controls.docx", FileFormat.Docx);  

Spire.Doc
标签:

来源:慧都

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2018年7月11日
下一篇 2018年7月11日

相关推荐

发表回复

登录后才能评论