原創|行業資訊|編輯:郝浩|2018-08-14 15:29:22.000|閱讀 1606 次
概述:本文將介紹如何使用Spire.Doc組件給Word文檔添加內容控件。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
內容控件在Word文檔中充當著特定內容的容器,不同的內容控件可以指定不同的內容類型(例如日期、圖片或文本等)以及能否編輯此內容。我們從Word 2013中選取了以下幾種常見的內容控件進行介紹:
|
名稱 |
簡介 |
|
下拉列表內容控件 |
下拉列表包含了一個預先定義好的列表。和組合框不同的是下拉列表不允許用戶編輯項。 |
|
純文本內容控件 |
純文本內容控件只能包含文本,不能包含其他項,例如表格、圖片或其他內容控件。 |
|
格式文本內容控件 |
與純文本內容控件不同,格式文本內容控件可以包含除文本以外的其他項,例如表格、圖片或其他內容控件。 |
|
日期選取器內容控件 |
日期選取器內容控件包含一個日歷控件,用于幫助用戶輸入日期。 |
|
組合框內容控件 |
組合框控件包含一個可以直接編輯的列表。它結合了文本框和下拉列表的屬性,用戶可以在框中鍵入值或者從下拉列表中選擇值。 |
|
圖片內容控件 |
圖片內容控件用于顯示圖片。用戶可以在制作模板時指定圖片,也可以通過單擊此控件來選擇需要插入的圖片。 |
Spire.Doc組件支持用戶在Word文檔中添加多種內容控件。以下代碼將展示如何使用Spire.Doc組件給Word文檔添加上述表格中所介紹的內容控件。
//創建一個新的word文檔
Document document = new Document();
//添加一個section到文檔
Section section = document.AddSection();
//添加一個段落到section
Paragraph 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:\Users\Administrator\Desktop\YourLogo.png"));
sdt.SDTContent.ChildObjects.Add(pic);
//保存文檔
document.SaveToFile("Controls.docx", FileFormat.Docx);

本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@ke049m.cn