Java 添加Word文本框
2019-09-17 10:20:33来源:博客园 阅读 ()
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, 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(); } }
文本框添加效果:
(本文完)
原文链接:https://www.cnblogs.com/Yesi/p/11497215.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:Map.Entry 接口
- 国外程序员整理的Java资源大全(全部是干货) 2020-06-12
- 2020年深圳中国平安各部门Java中级面试真题合集(附答案) 2020-06-11
- 2020年java就业前景 2020-06-11
- 04.Java基础语法 2020-06-11
- Java--反射(框架设计的灵魂)案例 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash