本文将介绍通过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. Emacs 学习之旅

    **Emacs 的使用过程,就像是程序员的生涯一样--路漫漫其修远兮,吾将上下而求索.** ## 万物始于 Emacs 最早知道 _Emacs_ 是从编辑器的圣战开始的,即编辑器之神--Vi,和神的编 ...

  2. Docker 从入门到掉坑

    Docker 介绍 简单的对docker进行介绍,可以把它理解为一个应用程序执行的容器.但是docker本身和虚拟机还是有较为明显的出入的.我大致归纳了一下,可以总结为以下几点: docker自身也有 ...

  3. .Net Core DevOps - 四步实现Vue项目持续集成

    众所周知,现在国内最火的前端框架非Vue莫属了,作为一个.net程序员,早就想体验一下了,但是无奈微软的项目模板不提供Vue的Spa模板,但是我们还是想用怎么办呢?下面来看下我的解决方案 目录 用vu ...

  4. 框架搭建与EF常用基类实现

    前两篇简单谈了一些.Net Core的优势以及机构设计的一些思路,这一篇开始,我们将从零开始搭建架构,底层我们将采用EF来访问数据库,所以这篇我们将贴一下EF常用操作的基类. 简单介绍下一些类库将要实 ...

  5. python 3.7.5 官方tutorial 学习笔记

    用了好久python,还没有完整看过官方的tutorial,这几天抽空看了下,还是学到些东西 --- Table of Contents 1. 课前甜点 2. 使用 Python 解释器 2.1. 调 ...

  6. [考试反思]0727NOIP模拟测试9

    啊哈?水到一个rk1? 谢谢诸位大佬放水让我这种人体验到了rk1的滋味. 怪怪的滋味.不太像我的水平. 其实这次考试心态已经佛了,刚意识到前6次考试累计的挺高的分数被清空了,7,8两场又爆炸了... ...

  7. csps模拟测试70

    又炸了,T1没开$long long$,炸掉$50pts$,昨天因为SB错误挂掉$100pts$. 我kuku了,以后细心点吧.

  8. js的ajax请求

    1 js原生get请求 <script> window.onload = function(){ var oBtn = document.getElementById('btn'); oB ...

  9. python入门之五种字典创建方法

    a = dict(one = 1, tow = 2, three = 3)b = {'one' :1,'tow' :2 , 'three' :3}c = dict (zip(['one', 'tow' ...

  10. python中字典的基础操作

    dict1 = { 'name':'王麻子', 'age':25, 'phone':12580, 'high':160 } dict2 = { 'name':'张三', 'age':38, 'phon ...