Java 添加Word文本框
程序员文章站
2022-05-03 22:15:56
在Word中,文本框是指一种可移动、可调节大小的文字或图形容器。我们可以向文本框中添加文字、图片、表格等对象,下面,将通过Java编程来实现添加以上对象到Word文本框。 使用工具:Free Spire.Doc for Java (免费版) Jar文件获取及导入: 方法1:通过官网下载获取jar包。 ......
在word中,文本框是指一种可移动、可调节大小的文字或图形容器。我们可以向文本框中添加文字、图片、表格等对象,下面,将通过java编程来实现添加以上对象到word文本框。
使用工具:free spire.doc for java (免费版)
jar文件获取及导入:
方法1:通过官网下载获取jar包。下载后,解压文件,并将lib文件夹下的spire.doc.jar文件导入java程序。(如下图)
方法2:通过导入。
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){ //创建文档 document doc = new document(); //添加指定大小的文本框 textbox tb = doc.addsection().addparagraph().appendtextbox(380, 275); //设置文字环绕方式 tb.getformat().settextwrappingstyle(textwrappingstyle.square); //设置文本框的相对位置 tb.getformat().sethorizontalorigin(horizontalorigin.left_margin_area); tb.getformat().sethorizontalposition(120f); tb.getformat().setverticalorigin(verticalorigin.page); tb.getformat().setverticalposition(100f); //设置文本框边框样式 tb.getformat().setlinestyle(textboxlinestyle.thin_thick); tb.getformat().setlinecolor(color.gray); //插入图片到文本框 paragraph para = tb.getbody().addparagraph(); docpicture picture = para.appendpicture("5g.png"); picture.setheight(120f); picture.setwidth(180f); para.getformat().sethorizontalalignment(horizontalalignment.center); para.getformat().setafterspacing(13f); //插入文字到文本框 para = tb.getbody().addparagraph(); textrange textrange = para.appendtext("中美贸易争端,又称中美贸易战,也叫中美贸易摩擦,是中美经济关系中的重要问题。 " + "贸易争端主要发生在两个方面:一是中国具有比较优势的出口领域;" + "二是中国没有优势的进口和技术知识领域。"); textrange.getcharacterformat().setfontname("楷体"); textrange.getcharacterformat().setfontsize(11f); para.getformat().sethorizontalalignment(horizontalalignment.center); //添加表格到文本框 //声明数组内容 string[][] data = new string[][]{ new string[]{"中美进出口差额"}, new string[]{"国家", "年份", "出口额(美元)", "进口额(美元)"}, new string[]{"中国", "2017", "125468", "101109"}, new string[]{"美国", "2017", "86452", "124298"}, }; //添加表格 table table = tb.getbody().addtable(); //指定表格行数、列数 table.resetcells(4,4); //将数组内容填充到表格 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); range2.getcharacterformat().setbold(true); } } tablerow row = table.getrows().get(1); for (int z = 0; z < row.getcells().getcount(); z++) { row.getcells().get(z).getcellformat().setbackcolor(new color(176,224,238)); } //横向合并单元格 table.applyhorizontalmerge(0,0,3); //应用表格样式 table.applystyle(defaulttablestyle.table_grid_5); //保存文档 doc.savetofile("addtextbox.docx", fileformat.docx_2013); doc.dispose(); } }
文本框添加效果:
(本文完)