本文将介绍通过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.Paragraph;
import com.spire.doc.documents.ShapeLineStyle;
import com.spire.doc.documents.ShapeType;
import com.spire.doc.documents.TextWrappingStyle;
import com.spire.doc.fields.ShapeGroup;
import com.spire.doc.fields.ShapeObject; import java.awt.*; public class DrawShape {
public static void main(String[]args){
//创建文档,添加段落
Document doc = new Document();
Paragraph para = doc.addSection().addParagraph(); //添加指定大小的矩形到文档中的指定位置
ShapeObject rectangle = para.appendShape(60,60, ShapeType.Rectangle);
rectangle.setFillColor(Color.MAGENTA);
rectangle.setStrokeColor(Color.GREEN);
rectangle.setStrokeWeight(5);
rectangle.setLineStyle(ShapeLineStyle.Double);
rectangle.setVerticalPosition(50);
rectangle.setHorizontalPosition(70);
rectangle.setRotation(10);
rectangle.setAlternativeText("矩形"); //添加三角形
ShapeObject triangle = para.appendShape(60,60,ShapeType.Triangle);
triangle.setStrokeColor(Color.pink);
triangle.setFillColor(Color.orange);
triangle.setVerticalPosition(50);
triangle.setHorizontalPosition(170);
triangle.setRotation(-30);
triangle.setTextWrappingStyle(TextWrappingStyle.Through); //添加圆形
ShapeObject circle = para.appendShape(60,60, ShapeType.Ellipse);
circle.setFillColor(Color.cyan);
circle.setStrokeWeight(7);
circle.setStrokeColor(Color.BLUE);
circle.setVerticalPosition(50);
circle.setHorizontalPosition(270); //添加波浪图形
ShapeObject wave = para.appendShape(80,60, ShapeType.Double_Wave);
wave.setFillColor(new Color(255,228,196));
wave.setStrokeWeight(3);
wave.setStrokeColor(Color.ORANGE);
wave.setVerticalPosition(50);
wave.setHorizontalPosition(370); //添加图形组合到段落,指定其大小和水平位置
ShapeGroup shapegroup = para.appendShapeGroup(200, 150);
shapegroup.setHorizontalPosition(150);
shapegroup.setVerticalPosition(150); //计算缩放比率
float X = (shapegroup.getWidth() / 1000.0f);
float Y = (shapegroup.getHeight() / 1000.0f); //创建一个圆形
ShapeObject circle_1 = new ShapeObject(doc, ShapeType.Ellipse);
circle_1.setWidth(80 / X);
circle_1.setHeight(80 / Y);
circle_1.setFillColor(new Color(144,238,144));
circle_1.setStrokeColor(new Color(144,238,144));
circle_1.setHorizontalPosition(60 / X);//设置其相对于图形组合的水平位置 //将圆形添加到图形组合
shapegroup.getChildObjects().add(circle_1); //添加另外两个圆形到图形组合
ShapeObject circle_2 = new ShapeObject(doc, ShapeType.Ellipse);
circle_2.setWidth(80 / X);
circle_2.setHeight(80 / Y);
circle_2.setFillColor(new Color(255,192,203));
circle_2.setStrokeColor(new Color(255,192,203));
circle_2.setHorizontalPosition(30 / X);
circle_2.setVerticalPosition(50 / Y);
shapegroup.getChildObjects().add(circle_2);
ShapeObject circle_3 = new ShapeObject(doc, ShapeType.Ellipse);
circle_3.setWidth(80 / X);
circle_3.setHeight(80 / Y);
circle_3.setFillColor(new Color(255,239,213));
circle_3.setStrokeColor(new Color(255,239,213));
circle_3.setHorizontalPosition(90 / X);
circle_3.setVerticalPosition(50 / Y);
shapegroup.getChildObjects().add(circle_3); //保存文档
doc.saveToFile("AddShape.docx",FileFormat.Docx_2013);
doc.dispose();
}
}

形状添加效果:

(本文完)

Java 添加Word形状或图形的更多相关文章

  1. Java 添加Word页眉、页脚

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

  2. Java 添加Word文本框

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

  3. Java 添加Word脚注、尾注

    Word中的脚注和尾注都是对文本的补充说明.脚注一般是附在书页最左下端的注文,用以解释.说明特定内容:而尾注则是位于文档末尾,用于列出引文的出处.脚注和尾注都可以是针对某些文字或者段落来添加.本文中, ...

  4. Java 添加Word目录的2种方法

    目录是一种能够快速.有效地帮助读者了解文档或书籍主要内容的方式.在Word中,插入目录首先需要设置相应段落的大纲级别,根据大纲级别来生成目录表.本文中生成目录分2种情况来进行: 1.文档没有设置大纲级 ...

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

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

  6. JAVA添加WORD文档批注

    本文将介绍在Java程序中如何给Word文档中的指定字符串添加批注.前文中,主要介绍的是针对某个段落来添加批注,以及回复.编辑.删除批注的方法,如果需要针对特定关键词或指定字符串来设置批注,可以参考本 ...

  7. Java 添加、读取、删除Excel形状

    本文介绍通过java程序在excel中操作形状(图形)的方法,包括: 1. 添加形状(如设置形状类型/位置/大小.形状颜色填充(单色/渐变色/纹理/图片填充).形状显示或隐藏.形状倾斜角度.添加文本到 ...

  8. Java 操作Word书签(二):添加文本、图片、表格到书签内容

    在Java操作Word书签(一)中介绍了给Word中的特定段落或文字添加书签.读取及删除已有书签的方法,本文将继续介绍Java 操作Word书签的方法,即如何给已有的书签添加内容,包括添加文本.图片. ...

  9. Java 操作Word表格——创建嵌套表格、添加/复制表格行或列、设置表格是否禁止跨页断行

    本文将对如何在Java程序中操作Word表格作进一步介绍.操作要点包括 如何在Word中创建嵌套表格. 对已有表格添加行或者列 复制已有表格中的指定行或者列 对跨页的表格可设置是否禁止跨页断行 创建表 ...

随机推荐

  1. Linux常见命令之文件处理命令

    ls命令 ls(选项)(参数) 选项 -a:显示所有档案及目录(ls内定将档案名或目录名称为“.”的视为影藏,不会列出): -A:显示除影藏文件“.”和“..”以外的所有文件列表: -C:多列显示输出 ...

  2. Linux系统运行级别和关机重启命令介绍

    Linux系统运行级别介绍 Linux系统有七种运行级别(Run Level),各个运行级别下,系统有不同的状态,各个级别的意义描述如下. 0:关键级别1:单用户运行级别,运行rc.sysinit和r ...

  3. javascript创建一个基于数组的栈结构

    栈是一种遵从后进先出(LIFO)原则的有序集合.新添加或待删除的元素都保存在栈的同 一端,称作栈顶,另一端就叫栈底.在栈里,新元素都靠近栈顶,旧元素都接近栈底. 栈拥有以下方法: push(eleme ...

  4. [Usaco 2012 Feb]Cow coupons牛券:反悔型贪心

    Description Farmer  John  needs  new  cows! There  are  N  cows  for  sale (1 <= N <= 50,000), ...

  5. python机器学习——自适应线性神经元

    上篇博客我们说了感知器,这篇博客主要记录自适应线性神经元的实现算法及一些其他的训练细节,自适应线性神经元(简称为Adaline)由Bernard Widrow和他的博士生Tedd Hoff提出,对感知 ...

  6. 一条查询语句在MySQL中是如何执行的?

    前言 我们在学习一种技术的时候,首先要鸟瞰其全貌,千万不要一开始就陷入到细节中去,这样有助于我们站在高维度其理解问题 —— 丁奇. 学习MySQL也是一样,所以我们可以从一条查询语句的执行开始看起. ...

  7. java基础阶段几个面试题

    1.说出你对面向对象的理解 在我理解,面向对象是向现实世界模型的自然延伸,这是一种“万物皆对象”的编程思想.在现实生活中的任何物体都可以归为一类事物,而每一个个体都是一类事物的实例.面向对象的编程是以 ...

  8. 130道ASP.NET面试题(二)

    71.什么是反射?答:动态获取程序集信息 72.用Singleton如何写设计模式答:static属性里面new ,构造函数private 73.什么是Application Pool?答:Web应用 ...

  9. show语句大全

    基于本人对MySQL的使用,现将常用的MySQL show 语句列举如下: 1.show databases ; // 显示mysql中所有数据库的名称 2.show tables [from dat ...

  10. requests保存图片

    1.创建07_save_jpg.py文件 import requests #发送请求respone = requests.get("https://www.baidu.com/img/bd_ ...