内容控件在Word文档中充当着特定内容的容器,不一样的内容控件能够指定不一样的内容类型(例如日期、图片或文本等)以及可否编辑此内容。根据内容类型不一样具体可分为:组合框内容控件、复选框内容控件、文本内容控件、图片内容控件、日期选取器内容控件、下拉列表内容控件等。本文就将经过使用Java程序来演示如何给Word文档添加以上六种内容控件类型。java
方法1:经过E-iceblue中文官网下载获取jar包。解压后将lib文件夹下的Spire.Doc.jar文件导入Java程序。(以下图)maven
方法2:经过maven仓库安装导入。具体安装教程参见E-iceblue中文官网。工具
import com.spire.doc.*; import com.spire.doc.documents.*; import com.spire.doc.fields.*; import java.util.Date; public class ContentControls { public static void main(String[] args) { //建立一个新的Word文档 Document document = new Document(); //添加一个section到文档 Section section = document.addSection(); //添加一个段落到section Paragraph paragraph = section.addParagraph(); //添加组合框内容控件 paragraph = section.addParagraph(); StructureDocumentTagInline sd = new StructureDocumentTagInline(document); paragraph.getChildObjects().add(sd); sd.getSDTProperties().setSDTType(SdtType.Combo_Box); //为控件设置标题和标签 sd.getSDTProperties().setAlias("组合框"); sd.getSDTProperties().setTag("组合框"); //添加选项 SdtComboBox cb = new SdtComboBox(); cb.getListItems().add(new SdtListItem("中国 1")); cb.getListItems().add(new SdtListItem("意大利 2")); cb.getListItems().add(new SdtListItem("日本 3")); sd.getSDTProperties().setControlProperties(cb); //添加显示文本 TextRange rt = new TextRange(document); rt.setText(cb.getListItems().get(2).getDisplayText()); sd.getSDTContent().getChildObjects().add(rt); section.addParagraph(); //添加复选框内容控件 paragraph = section.addParagraph(); sd = new StructureDocumentTagInline(document); paragraph.getChildObjects().add(sd); sd.getSDTProperties().setSDTType(SdtType.Check_Box); //为控件设置标题和标签 sd.getSDTProperties().setAlias("复选框"); sd.getSDTProperties().setTag("复选框"); SdtCheckBox scb = new SdtCheckBox(); sd.getSDTProperties().setControlProperties(scb); rt = new TextRange(document); sd.getChildObjects().add(rt); scb.setChecked(true); section.addParagraph(); //添加文本内容控件 paragraph = section.addParagraph(); sd = new StructureDocumentTagInline(document); paragraph.getChildObjects().add(sd); sd.getSDTProperties().setSDTType(SdtType.Text); //为控件设置标题和标签 sd.getSDTProperties().setAlias("文本"); sd.getSDTProperties().setTag("文本"); //设置显示文本 SdtText text = new SdtText(true); text.isMultiline(true); sd.getSDTProperties().setControlProperties(text); rt = new TextRange(document); rt.setText("此处只能输入文本"); sd.getSDTContent().getChildObjects().add(rt); section.addParagraph(); //添加图片内容控件 paragraph = section.addParagraph(); sd = new StructureDocumentTagInline(document); paragraph.getChildObjects().add(sd); sd.getSDTProperties().setControlProperties(new SdtPicture()); //为控件设置标题和标签 sd.getSDTProperties().setAlias("图片"); sd.getSDTProperties().setTag("图片"); //添加图片 DocPicture pic = new DocPicture(document); pic.setWidth(10f); pic.setHeight(10f); pic.loadImage("C:\\Users\\Test1\\Desktop\\logo.png"); sd.getSDTContent().getChildObjects().add(pic); section.addParagraph(); //添加日期选取器内容控件 paragraph = section.addParagraph(); sd = new StructureDocumentTagInline(document); paragraph.getChildObjects().add(sd); sd.getSDTProperties().setSDTType(SdtType.Date_Picker); //为控件设置标题和标签 sd.getSDTProperties().setAlias("日期"); sd.getSDTProperties().setTag("日期"); //设置日历模式 SdtDate date = new SdtDate(); date.setCalendarType(CalendarType.Default); date.setDateFormat("yyyy.MM.dd"); date.setFullDate(new Date()); sd.getSDTProperties().setControlProperties(date); //设置显示日期 rt = new TextRange(document); rt.setText("2020.04.24"); sd.getSDTContent().getChildObjects().add(rt); section.addParagraph(); //添加下拉列表内容控件 paragraph = section.addParagraph(); sd = new StructureDocumentTagInline(document); paragraph.getChildObjects().add(sd); sd.getSDTProperties().setSDTType(SdtType.Drop_Down_List); //为控件设置标题和标签 sd.getSDTProperties().setAlias("下拉列表"); sd.getSDTProperties().setTag("下拉列表"); //添加下拉选项 SdtDropDownList sddl = new SdtDropDownList(); sddl.getListItems().add(new SdtListItem("男 1")); sddl.getListItems().add(new SdtListItem("女 2")); sd.getSDTProperties().setControlProperties(sddl); //设置控件显示的初始选项 rt = new TextRange(document); rt.setText(sddl.getListItems().get(0).getDisplayText()); sd.getSDTContent().getChildObjects().add(rt); //保存文档 document.saveToFile("output/addContentControls.docx", FileFormat.Docx_2013); } }
添加效果:spa
(本文完)code