內容控件在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