您好,登錄后才能下訂單哦!
本文將介紹如何通過java程序在Word文件中添加內容控件,包括組合框內容控件(ComboBox)、復選框內容控件(CheckBox)、文本內容控件(Text)、圖片內容控件(Picture)、日期選取器內容控件(DatePicker)、下拉列表內容控件等(DropDownList)等。下面將通過代碼演示。
所需工具:Word類庫(Free Spire.Doc for Java)
獲取方法1:可通過官網下載jar包,并將lib文件夾下的Spire.Doc.jar文件導入Java程序;
獲取方法1:通過maven倉庫安裝導入maven項目。
Java代碼示例(供參考)
import com.spire.doc.*;
import com.spire.doc.documents.*;
import com.spire.doc.fields.DocPicture;
import com.spire.doc.fields.TextRange;
import java.awt.*;
import java.util.Date;
public class AddStructureDocumentTagInline {
public static void main(String[]args){
//創建Word文檔
Document document = new Document();
Section section = document.addSection();
Paragraph paragraph = section.addParagraph();
TextRange txtRange = paragraph.appendText("如何給Word文檔添加內容控件:");
txtRange.getCharacterFormat().setBold(true);
txtRange.getCharacterFormat().setFontName("宋體");
txtRange.getCharacterFormat().setTextColor(Color.RED);
//添加組合框內容控件
paragraph = section.addParagraph();
txtRange = paragraph.appendText("組合框內容控件:");
txtRange.getCharacterFormat().setFontName("宋體");
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("中 國"));
cb.getListItems().add(new SdtListItem("日 本"));
cb.getListItems().add(new SdtListItem("澳大利亞"));
sd.getSDTProperties().setControlProperties(cb);
TextRange rt = new TextRange(document);
rt.setText(cb.getListItems().get(0).getDisplayText());
rt.getCharacterFormat().setFontName("宋體");
sd.getSDTContent().getChildObjects().add(rt);
//添加復選框內容控件
paragraph = section.addParagraph();
txtRange = paragraph.appendText("復選框內容控件: ");
txtRange.getCharacterFormat().setFontName("宋體");
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);
//添加文本內容控件
paragraph = section.addParagraph();
txtRange = paragraph.appendText("文本內容控件: ");
txtRange.getCharacterFormat().setFontName("宋體");
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("文 本");
rt.getCharacterFormat().setFontName("宋體");
sd.getSDTContent().getChildObjects().add(rt);
//添加圖片內容控件
paragraph = section.addParagraph();
txtRange = paragraph.appendText("圖片內容控件: ");
txtRange.getCharacterFormat().setFontName("宋體");
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("1.png");
sd.getSDTContent().getChildObjects().add(pic);
//添加日期選取器內容控件
paragraph = section.addParagraph();
txtRange = paragraph.appendText("日期選取器內容控件: ");
txtRange.getCharacterFormat().setFontName("宋體");
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("2018.12.25");
sd.getSDTContent().getChildObjects().add(rt);
//添加下拉列表內容控件
paragraph = section.addParagraph();
txtRange = paragraph.appendText("下拉列表內容控件:");
txtRange.getCharacterFormat().setFontName("宋體");
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());
rt.getCharacterFormat().setFontName("宋體");
sd.getSDTContent().getChildObjects().add(rt);
//保存結果文檔
document.saveToFile("addContentControls.docx", FileFormat.Docx_2013);
document.dispose();
}
}
內容控件添加效果:
(本文完)
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。