通過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ù)知識(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)文章
dockerfile-maven-plugin極簡教程(推薦)
這篇文章主要介紹了dockerfile-maven-plugin極簡教程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-10-10spring使用Filter過濾器對Response返回值進(jìn)行修改的方法
這篇文章主要介紹了spring使用Filter過濾器對Response返回值進(jìn)行修改,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-09-09springboot mybatis-plus實(shí)現(xiàn)登錄接口
本文主要介紹了springboot mybatis-plus實(shí)現(xiàn)登錄接口,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-11-11SpringBoot利用切面注解及反射實(shí)現(xiàn)事件監(jiān)聽功能
這篇文章主要介紹了springboot事件監(jiān)聽,通過利用切面、注解、反射實(shí)現(xiàn),接下來將對這幾種方式逐一說明,具有很好的參考價(jià)值,希望對大家有所幫助2022-07-07IDEA使用技巧之如何將本地項(xiàng)目和git遠(yuǎn)程項(xiàng)目關(guān)聯(lián)
這篇文章主要介紹了IDEA使用技巧之如何將本地項(xiàng)目和git遠(yuǎn)程項(xiàng)目關(guān)聯(lián)問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02解決mybatis-plus自動(dòng)配置的mapper.xml與java接口映射問題
這篇文章主要介紹了解決mybatis-plus自動(dòng)配置的mapper.xml與java接口映射問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08