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

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

Jar文件获取及导入:

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

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

Java代码示例

  1. import com.spire.doc.*;
  2. import com.spire.doc.documents.*;
  3. import com.spire.doc.fields.DocPicture;
  4. import com.spire.doc.fields.TextBox;
  5. import com.spire.doc.fields.TextRange;
  6. import java.awt.*;
  7.  
  8. public class AddTextbox {
  9. public static void main(String[]args){
  10. //创建文档
  11. Document doc = new Document();
  12.  
  13. //添加指定大小的文本框
  14. TextBox tb = doc.addSection().addParagraph().appendTextBox(380, 275);
  15. //设置文字环绕方式
  16. tb.getFormat().setTextWrappingStyle(TextWrappingStyle.Square);
  17.  
  18. //设置文本框的相对位置
  19. tb.getFormat().setHorizontalOrigin(HorizontalOrigin.Left_Margin_Area);
  20. tb.getFormat().setHorizontalPosition(120f);
  21. tb.getFormat().setVerticalOrigin(VerticalOrigin.Page);
  22. tb.getFormat().setVerticalPosition(100f);
  23.  
  24. //设置文本框边框样式
  25. tb.getFormat().setLineStyle(TextBoxLineStyle.Thin_Thick);
  26. tb.getFormat().setLineColor(Color.gray);
  27.  
  28. //插入图片到文本框
  29. Paragraph para = tb.getBody().addParagraph();
  30. DocPicture picture = para.appendPicture("5G.png");
  31. picture.setHeight(120f);
  32. picture.setWidth(180f);
  33. para.getFormat().setHorizontalAlignment(HorizontalAlignment.Center);
  34. para.getFormat().setAfterSpacing(13f);
  35.  
  36. //插入文字到文本框
  37. para = tb.getBody().addParagraph();
  38. TextRange textRange = para.appendText("中美贸易争端,又称中美贸易战,也叫中美贸易摩擦,是中美经济关系中的重要问题。 "
  39. + "贸易争端主要发生在两个方面:一是中国具有比较优势的出口领域;"
  40. + "二是中国没有优势的进口和技术知识领域。");
  41. textRange.getCharacterFormat().setFontName("楷体");
  42. textRange.getCharacterFormat().setFontSize(11f);
  43. para.getFormat().setHorizontalAlignment(HorizontalAlignment.Center);
  44.  
  45. //添加表格到文本框
  46. //声明数组内容
  47. String[][] data = new String[][]{
  48. new String[]{"中美进出口差额"},
  49. new String[]{"国家", "年份", "出口额(美元)", "进口额(美元)"},
  50. new String[]{"中国", "2017", "125468", "101109"},
  51. new String[]{"美国", "2017", "86452", "124298"},
  52. };
  53. //添加表格
  54. Table table = tb.getBody().addTable();
  55. //指定表格行数、列数
  56. table.resetCells(4,4);
  57. //将数组内容填充到表格
  58. for (int i = 0; i < data.length; i++) {
  59. TableRow dataRow = table.getRows().get(i);
  60. dataRow.getCells().get(i).setWidth(70);
  61. dataRow.setHeight(22);
  62. dataRow.setHeightType(TableRowHeightType.Exactly);
  63. for (int j = 0; j < data[i].length; j++) {
  64. dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle);
  65. TextRange range2 = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]);
  66. range2.getCharacterFormat().setFontName("楷体");
  67. range2.getCharacterFormat().setFontSize(11f);
  68. range2.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center);
  69. range2.getCharacterFormat().setBold(true);
  70. }
  71. }
  72. TableRow row = table.getRows().get(1);
  73. for (int z = 0; z < row.getCells().getCount(); z++) {
  74. row.getCells().get(z).getCellFormat().setBackColor(new Color(176,224,238));
  75. }
  76. //横向合并单元格
  77. table.applyHorizontalMerge(0,0,3);
  78. //应用表格样式
  79. table.applyStyle(DefaultTableStyle.Table_Grid_5);
  80.  
  81. //保存文档
  82. doc.saveToFile("AddTextbox.docx", FileFormat.Docx_2013);
  83. doc.dispose();
  84. }
  85. }

文本框添加效果:

(本文完)

Java 添加Word文本框的更多相关文章

  1. Java 设置Word文本框中的文字旋转方向

    Word文档中可添加文本框,并设置文本框为横向文本排列或是纵向文本排列,或者设置文本框中的文字旋转方向等.通过Java程序代码,也可以实现以上文本框的操作.下面以Java代码示例展示具体的实现步骤.另 ...

  2. Java 读取Word文本框中的文本/图片/表格

    Word可插入文本框,文本框中可嵌入文本.图片.表格等内容.对文档中的已有文本框,也可以读取其中的内容.本文以Java程序代码来展示如何读取文本框,包括读取文本框中的文本.图片以及表格等. [程序环境 ...

  3. Java 添加Word文本水印、图片水印

    水印是一种常用于各种文档的声明.防伪手段,一般可设置文字水印或者加载图片作为水印.以下内容将分享通过Java编程给Word文档添加水印效果的方法,即 文本水印 图片水印 使用工具:Free Spire ...

  4. C# 读取Word文本框中的文本、图片和表格(附VB.NET代码)

    [概述] Word中可插入文本框,在文本框中可添加文本.图片.表格等内容.本篇文章通过C#程序代码介绍如何来读取文本框中的文本.图片和表格等内容.附VB.NET代码,有需要可作参考. [程序环境] 程 ...

  5. Java 获取、删除Word文本框中的表格

    本文介绍如何来获取Word文本框中包含的表格,以及删除表格. 程序测试环境包括: IDEA JDK 1.8.0 Spire.Doc.jar 注:jar导入,可通过创建Maven程序项目,并在pom.x ...

  6. C# 操作Word文本框——插入表格/读取表格/删除表格

    在文本框中,我们可以操作很多元素,如文本.图片.表格等,在本篇文章中将着重介绍如何插入表格到文本框,插入的表格我们可以对表格进行格式化操作来丰富表格内容.此外,对于文本框中的表格内容,我们也可以根据需 ...

  7. jquery删除添加输入文本框

    效果体验:http://hovertree.com/texiao/jquery/67/ 效果图: 参考:http://hovertree.com/h/bjaf/traversing_each.htm ...

  8. java swing:文本框添加滚动条

    有几点要注意: 1.默认的滚动条,仅在输入的文本超过文本框时才会显示..没有超过文本框是不会显示的: 2.设置矩形大小,是在滚动条上设置,而不是在文本框上设置: 示例代码如下: public clas ...

  9. Java 添加Word页眉、页脚

    本篇文章将介绍通过java程序来添加Word页眉页脚的方法.鉴于在不同文档中,对页眉页脚的操作要求不同,文章将分别从以下几种情况来阐述: 1.添加页眉页脚 添加图片到页眉 添加文本到页眉 添加页码 2 ...

随机推荐

  1. 微服务世界之Nacos初见

    Nacos 1.概要 Dubbo 服务的注册和发现/rpc通信/负载均衡/限流/熔断/降级 Spring Cloud alibaba 服务注册发现中间件 zookeeper/eureka/consul ...

  2. RBF神经网络

    RBF神经网络 RBF神经网络通常只有三层,即输入层.中间层和输出层.其中中间层主要计算输入x和样本矢量c(记忆样本)之间的欧式距离的Radial Basis Function (RBF)的值,输出层 ...

  3. 算法与数据结构基础 - 滑动窗口(Sliding Window)

    滑动窗口基础 滑动窗口常用来解决求字符串子串问题,借助map和计数器,其能在O(n)时间复杂度求子串问题.滑动窗口和双指针(Two pointers)有些类似,可以理解为往同一个方向走的双指针.常用滑 ...

  4. Spring1

    一.Spring是什么?有什么用? Spring的适用环境是这样的,假设现在有一个类port,它将提供一个返回消息的功能,代码如下: public class port { private weibo ...

  5. [Spring cloud 一步步实现广告系统] 19. 监控Hystrix Dashboard

    在之前的18次文章中,我们实现了广告系统的广告投放,广告检索业务功能,中间使用到了 服务发现Eureka,服务调用Feign,网关路由Zuul以及错误熔断Hystrix等Spring Cloud组件. ...

  6. Python装饰器完全解读

    1 引言 装饰器(Decorators)可能是Python中最难掌握的概念之一了,也是最具Pythonic特色的技巧,深入理解并应用装饰器,你会更加感慨——人生苦短,我用Python. 2 初步理解装 ...

  7. 论文解读2——Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition

    背景 用ConvNet方法解决图像分类.检测问题成为热潮,但这些方法都需要先把图片resize到固定的w*h,再丢进网络里,图片经过resize可能会丢失一些信息.论文作者发明了SPP pooling ...

  8. StudyAndroid.2 Activity生命周期

    onCreate(): 当我们点击activity的时候,系统会调用activity的oncreate()方法,在这个方法中我们会初始化当前布局setContentLayout()方法. onStar ...

  9. Nginx安装之源码安装

    nginx部署 1. 安装依赖 yum install gcc gccc++ pcre pcre-devel zlib zlib-devel openssl openssl-devel-y 2. 下载 ...

  10. 利用SSH端口转发实现远程访问内网主机远程桌面(一) 建立SSH转发

    近期家里更换了移动的宽带,拨号后拿到的是10开头的内网IP,就不能像之前一样通过路由器的端口映射实现从外网访问主机的远程桌面.这种情况下可以利用一台具有公网IP的服务器充当中转,利用SSH的隧道转发功 ...