通過Java添加Word文本框過程詳解
前言
在Word中,文本框是指一種可移動(dòng)、可調(diào)節(jié)大小的文字或圖形容器。我們可以向文本框中添加文字、圖片、表格等對象,下面,將通過Java編程來實(shí)現(xiàn)添加以上對象到Word文本框。
使用工具:Free Spire.Doc for Java (免費(fèi)版)
Jar文件獲取及導(dǎo)入:
方法1:通過官網(wǎng)下載獲取jar包。下載后,解壓文件,并將lib文件夾下的Spire.Doc.jar文件導(dǎo)入Java程序。(如下圖)

方法2:通過maven倉庫安裝導(dǎo)入。
Java代碼示例
import com.spire.doc.*;
import com.spire.doc.documents.*;
import com.spire.doc.fields.DocPicture;
import com.spire.doc.fields.TextBox;
import com.spire.doc.fields.TextRange;
import java.awt.*;
public class AddTextbox {
public static void main(String[] args) {
//創(chuàng)建文檔
Document doc = new Document();
//添加指定大小的文本框
TextBox tb = doc.addSection().addParagraph().appendTextBox(380, 280);
//設(shè)置文字環(huán)繞方式
tb.getFormat().setTextWrappingStyle(TextWrappingStyle.Square);
//設(shè)置文本框的相對位置
tb.getFormat().setHorizontalOrigin(HorizontalOrigin.Left_Margin_Area);
tb.getFormat().setHorizontalPosition(120f);
tb.getFormat().setVerticalOrigin(VerticalOrigin.Page);
tb.getFormat().setVerticalPosition(100f);
//設(shè)置文本框邊框樣式
tb.getFormat().setLineStyle(TextBoxLineStyle.Thin_Thick);
tb.getFormat().setLineColor(Color.gray);
//插入圖片到文本框
Paragraph para = tb.getBody().addParagraph();
DocPicture picture = para.appendPicture("tp.png");
picture.setHeight(120f);
picture.setWidth(180f);
para.getFormat().setHorizontalAlignment(HorizontalAlignment.Center);
para.getFormat().setAfterSpacing(13f);
//插入文字到文本框
para = tb.getBody().addParagraph();
TextRange textRange = para.appendText("中美貿(mào)易爭端,又稱中美貿(mào)易戰(zhàn),也叫中美貿(mào)易摩擦,是中美經(jīng)濟(jì)關(guān)系中的重要問題。 "
+ "貿(mào)易爭端主要發(fā)生在兩個(gè)方面:一是中國具有比較優(yōu)勢的出口領(lǐng)域;"
+ "二是中國沒有優(yōu)勢的進(jìn)口和技術(shù)知識領(lǐng)域。");
textRange.getCharacterFormat().setFontName("楷體");
textRange.getCharacterFormat().setFontSize(11f);
para.getFormat().setHorizontalAlignment(HorizontalAlignment.Center);
//添加表格到文本框
//聲明數(shù)組內(nèi)容
String[][] data = new String[][]{
new String[]{"國家", "年份", "出口額(美元)", "進(jìn)口額(美元)"},
new String[]{"中國", "2017", "125468", "101109"},
new String[]{"美國", "2017", "86452", "124298"},
};
//添加表格
Table table = tb.getBody().addTable();
//指定表格行數(shù)、列數(shù)
table.resetCells(3,4);
//將數(shù)組內(nèi)容填充到表格
for (int i = 0; i < data.length; i++) {
TableRow dataRow = table.getRows().get(i);
dataRow.getCells().get(i).setWidth(70);
dataRow.setHeight(22);
dataRow.setHeightType(TableRowHeightType.Exactly);
for (int j = 0; j < data[i].length; j++) {
dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle);
TextRange range2 = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]);
range2.getCharacterFormat().setFontName("楷體");
range2.getCharacterFormat().setFontSize(11f);
range2.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center);
}
}
//應(yīng)用表格樣式
table.applyStyle(DefaultTableStyle.Colorful_Grid_Accent_3);
//保存文檔
doc.saveToFile("AddTextbox.docx", FileFormat.Docx_2013);
}
}
文本框添加效果:

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java正則驗(yàn)證電話,手機(jī),郵箱,日期,金額的方法示例
這篇文章主要介紹了Java正則驗(yàn)證電話,手機(jī),郵箱,日期,金額的方法,結(jié)合具體實(shí)例形式分析了Java針對電話,手機(jī),郵箱,日期,金額的正則判定操作技巧,需要的朋友可以參考下2017-03-03
Java 中Json中既有對象又有數(shù)組的參數(shù)如何轉(zhuǎn)化成對象(推薦)
Gson庫是一個(gè)功能強(qiáng)大、易于使用的Java序列化/反序列化庫,它提供了豐富的API來支持Java對象和JSON之間的轉(zhuǎn)換,這篇文章主要介紹了Java 中Json中既有對象又有數(shù)組的參數(shù)如何轉(zhuǎn)化成對象,需要的朋友可以參考下2024-07-07
SpringBoot自定義maven-plugin插件整合asm代碼插樁
本文主要介紹了SpringBoot自定義maven-plugin插件整合asm代碼插樁,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02
Mybatis-plus apply函數(shù)使用場景分析
Mybatis-plus 里面的 apply方法 是用于拼接自定義的條件判斷,自定義時(shí)間查詢,根據(jù)傳進(jìn)來的開始日期,查詢所有該日期是數(shù)據(jù),但是數(shù)據(jù)庫中保存是時(shí)間,所以需要使用apply查詢方式并格式化,這篇文章給大家介紹Mybatis-plus apply函數(shù)使用,感興趣的朋友一起看看吧2024-02-02
SpringBoot封裝響應(yīng)數(shù)據(jù)實(shí)現(xiàn)過程詳解
這篇文章主要介紹了SpringBoot封裝響應(yīng)數(shù)據(jù)實(shí)現(xiàn)過程,SpringBoot響應(yīng)數(shù)據(jù)封裝是指在SpringBoot應(yīng)用程序中,將返回的數(shù)據(jù)進(jìn)行封裝,以便于前端頁面或其他客戶端使用,感興趣想要詳細(xì)了解可以參考下文2023-05-05
Java編程中利用InetAddress類確定特殊IP地址的方法
這篇文章主要介紹了Java編程中利用InetAddress類確定特殊IP地址的方法,InetAddress類是Java網(wǎng)絡(luò)編程中一個(gè)相當(dāng)實(shí)用的類,需要的朋友可以參考下2015-11-11
Java中BufferedReader與BufferedWriter類的使用示例
BufferedReader與BufferedWriter分別繼承于Reader和Writer類,分別為字符的讀取和寫入添加緩沖功能,這里我們就來看一下Java中BufferedReader與BufferedWriter類的使用示例:2016-06-06

