当前位置: 移动技术网 > IT编程>开发语言>Java > Java 添加Word文本框

Java 添加Word文本框

2019年09月10日  | 移动技术网IT编程  | 我要评论

东方大学城论坛,韵达快运运单号,流量卡

在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();
    }
}

文本框添加效果:

 

 

(本文完)

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网