通过Java添加Word文本框过程详解

 更新时间:2019年07月09日 14:40:18   作者:Miaonly  
这篇文章主要介绍了通过Java添加Word文本框过程详解,在Word中,文本框是指一种可移动、可调节大小的文字或图形容器。我们可以向文本框中添加文字、图片、表格等对象,下面,将通过Java编程来实现添加以上对象到Word文本框,需要的朋友可以参考下

前言

在Word中,文本框是指一种可移动、可调节大小的文字或图形容器。我们可以向文本框中添加文字、图片、表格等对象,下面,将通过Java编程来实现添加以上对象到Word文本框。

使用工具:Free Spire.Doc for Java (免费版)

Jar文件获取及导入:

方法1:通过官网下载获取jar包。下载后,解压文件,并将lib文件夹下的Spire.Doc.jar文件导入Java程序。(如下图)

方法2:通过maven仓库安装导入。

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, 280);
    //设置文字环绕方式
    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("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("中美贸易争端,又称中美贸易战,也叫中美贸易摩擦,是中美经济关系中的重要问题。 "
        + "贸易争端主要发生在两个方面:一是中国具有比较优势的出口领域;"
        + "二是中国没有优势的进口和技术知识领域。");
    textRange.getCharacterFormat().setFontName("楷体");
    textRange.getCharacterFormat().setFontSize(11f);
    para.getFormat().setHorizontalAlignment(HorizontalAlignment.Center);

    //添加表格到文本框
    //声明数组内容
    String[][] data = new String[][]{
        new String[]{"国家", "年份", "出口额(美元)", "进口额(美元)"},
        new String[]{"中国", "2017", "125468", "101109"},
        new String[]{"美国", "2017", "86452", "124298"},
    };
    //添加表格
    Table table = tb.getBody().addTable();
    //指定表格行数、列数
    table.resetCells(3,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);
        }
      }
      //应用表格样式
      table.applyStyle(DefaultTableStyle.Colorful_Grid_Accent_3);

      //保存文档
      doc.saveToFile("AddTextbox.docx", FileFormat.Docx_2013);
    }
  }

文本框添加效果:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Java正则验证电话,手机,邮箱,日期,金额的方法示例

    Java正则验证电话,手机,邮箱,日期,金额的方法示例

    这篇文章主要介绍了Java正则验证电话,手机,邮箱,日期,金额的方法,结合具体实例形式分析了Java针对电话,手机,邮箱,日期,金额的正则判定操作技巧,需要的朋友可以参考下
    2017-03-03
  • Java框架MyBatis接口编程过程解析

    Java框架MyBatis接口编程过程解析

    这篇文章主要介绍了Java框架MyBatis接口编程过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • JDK14性能管理工具之Jconsole的使用详解

    JDK14性能管理工具之Jconsole的使用详解

    JConsole是JDK自带的管理工具,在JAVA_HOME/bin下面,直接命令JConsole即可开启JConsole。接下来通过本文给大家分享JDK14性能管理工具之Jconsole的使用,感兴趣的朋友一起看看吧
    2020-05-05
  • Java 中Json中既有对象又有数组的参数如何转化成对象(推荐)

    Java 中Json中既有对象又有数组的参数如何转化成对象(推荐)

    Gson库是一个功能强大、易于使用的Java序列化/反序列化库,它提供了丰富的API来支持Java对象和JSON之间的转换,这篇文章主要介绍了Java 中Json中既有对象又有数组的参数如何转化成对象,需要的朋友可以参考下
    2024-07-07
  • java 2d画图示例分享(用java画图)

    java 2d画图示例分享(用java画图)

    这篇文章主要介绍了java 2D画图示例(用java画图),需要的朋友可以参考下
    2014-04-04
  • SpringBoot自定义maven-plugin插件整合asm代码插桩

    SpringBoot自定义maven-plugin插件整合asm代码插桩

    本文主要介绍了SpringBoot自定义maven-plugin插件整合asm代码插桩,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • Mybatis-plus apply函数使用场景分析

    Mybatis-plus apply函数使用场景分析

    Mybatis-plus 里面的 apply方法 是用于拼接自定义的条件判断,自定义时间查询,根据传进来的开始日期,查询所有该日期是数据,但是数据库中保存是时间,所以需要使用apply查询方式并格式化,这篇文章给大家介绍Mybatis-plus apply函数使用,感兴趣的朋友一起看看吧
    2024-02-02
  • SpringBoot封装响应数据实现过程详解

    SpringBoot封装响应数据实现过程详解

    这篇文章主要介绍了SpringBoot封装响应数据实现过程,SpringBoot响应数据封装是指在SpringBoot应用程序中,将返回的数据进行封装,以便于前端页面或其他客户端使用,感兴趣想要详细了解可以参考下文
    2023-05-05
  • Java编程中利用InetAddress类确定特殊IP地址的方法

    Java编程中利用InetAddress类确定特殊IP地址的方法

    这篇文章主要介绍了Java编程中利用InetAddress类确定特殊IP地址的方法,InetAddress类是Java网络编程中一个相当实用的类,需要的朋友可以参考下
    2015-11-11
  • Java中BufferedReader与BufferedWriter类的使用示例

    Java中BufferedReader与BufferedWriter类的使用示例

    BufferedReader与BufferedWriter分别继承于Reader和Writer类,分别为字符的读取和写入添加缓冲功能,这里我们就来看一下Java中BufferedReader与BufferedWriter类的使用示例:
    2016-06-06

最新评论