Java 添加、删除、格式化Word中的图片
本文介绍使用Spire.Cloud.SDK for Java提供的ImagesApi接口来操作Word中的图片。具体可通过addImage()方法添加图片、deleteImage()方法删除图片、updateImageFormat()格式化Word中的图片以及getImageFormat()获取Word中的图片格式等。操作方法和代码示例可参考下文中的步骤。
步骤1:导入jar文件
创建Maven项目程序,通过maven仓库下载导入。以IDEA为例,新建Maven项目,在pom.xml文件中配置maven仓库路径,并指定spire.cloud.sdk的依赖,如下:
- <repositories>
- <repository>
- <id>com.e-iceblue</id>
- <name>cloud</name>
- <url>http://repo.e-iceblue.cn/repository/maven-public/</url>
- </repository>
- </repositories>
- <dependencies>
- <dependency>
- <groupId> cloud </groupId>
- <artifactId>spire.cloud.sdk</artifactId>
- <version>3.5.0</version>
- </dependency>
- <dependency>
- <groupId> com.google.code.gson</groupId>
- <artifactId>gson</artifactId>
- <version>2.8.1</version>
- </dependency>
- <dependency>
- <groupId> com.squareup.okhttp</groupId>
- <artifactId>logging-interceptor</artifactId>
- <version>2.7.5</version>
- </dependency>
- <dependency>
- <groupId> com.squareup.okhttp </groupId>
- <artifactId>okhttp</artifactId>
- <version>2.7.5</version>
- </dependency>
- <dependency>
- <groupId> com.squareup.okio </groupId>
- <artifactId>okio</artifactId>
- <version>1.6.0</version>
- </dependency>
- <dependency>
- <groupId> io.gsonfire</groupId>
- <artifactId>gson-fire</artifactId>
- <version>1.8.0</version>
- </dependency>
- <dependency>
- <groupId>io.swagger</groupId>
- <artifactId>swagger-annotations</artifactId>
- <version>1.5.18</version>
- </dependency>
- <dependency>
- <groupId> org.threeten </groupId>
- <artifactId>threetenbp</artifactId>
- <version>1.3.5</version>
- </dependency>
- </dependencies>
完成配置后,点击“Import Changes” 即可导入所有需要的jar文件。如果使用的是Eclipse,可参考这里的导入方法。
导入结果:
步骤2:登录冰蓝云账号,创建文件夹,上传用于测试的源文档
步骤3:创建应用程序,获取App ID及App Key
完成以上步骤后,接下来可参考Java示例代码进行Word文档操作
示例1—添加图片到Word
注:添加图片时,可以将云端文件夹中的图片添加到Word,也可以将本地路径中的图片添加到Word。
- import spire.cloud.word.sdk.client.*;
- import spire.cloud.word.sdk.client.api.ImagesApi;
- import java.io.File;
- public class AddImage {
- static String appId = "App ID";
- static String appKey = "App Key";
- static String baseUrl = "https://api.e-iceblue.cn";
- static Configuration wordConfiguration = new Configuration(appId, appKey, baseUrl);
- static ImagesApi imagesApi = new ImagesApi(wordConfiguration);
- public static void main(String[] args) throws ApiException {
- String name = "testfile.docx";//源文档
- String imagePath = "input/Javalogo.png";//云端文件夹下的图片
- //File inputImage = new File("C:/Users/Administrator/Desktop/images/logo/Javalogo.png");//本地图片
- String paragraphPath = "Section/0/Body/0/Paragraph/0";//指定段落
- String folder = "input";//源文档和图片所在的云端文件夹
- String storage = null;
- String password = null;
- Integer indexInParagraph = 1;
- String destFilePath = "output/AddImageToWord.docx";
- //调用方法将云端图片添加到Word
- imagesApi.addImage(name, imagePath, paragraphPath, destFilePath, folder, storage, password, indexInParagraph);
- //调用方法将本地图片添加到Word
- //imagesApi.addImageInRequest(name,inputImage,paragraphPath,destFilePath,folder,storage,password,indexInParagraph);
- }
- }
图片添加效果:
示例2—删除Word中的图片
- import spire.cloud.word.sdk.client.ApiException;
- import spire.cloud.word.sdk.client.Configuration;
- import spire.cloud.word.sdk.client.api.ImagesApi;
- public class DeleteImage {
- static String appId = "App ID";
- static String appKey = "App Key";
- static String baseUrl = "https://api.e-iceblue.cn";
- static Configuration wordConfiguration = new Configuration(appId, appKey, baseUrl);
- static ImagesApi imagesApi = new ImagesApi(wordConfiguration);
- public static void main(String[] args) throws ApiException {
- String name = "Sample.docx";//包含图片的Word源文档
- String paragraphPath = "Section/0/Body/0/Paragraph/2";//指定段落
- Integer index = 0;
- String folder = "input";//源文档所在文件
- String storage = null;
- String password = null;
- String destFilePath = "output/DeleteImageInWord.docx";//结果文档路径
- //调用方法删除掉段落中的图片
- imagesApi.deleteImage(name, paragraphPath, index, destFilePath, folder, storage, password);
- }
- }
图片删除效果:
示例3—设置Word中的图片格式
- import spire.cloud.word.sdk.client.ApiException;
- import spire.cloud.word.sdk.client.Configuration;
- import spire.cloud.word.sdk.client.api.ImagesApi;
- import spire.cloud.word.sdk.client.model.ImageFormat;
- public class UpdateImageFormat {
- static String appId = "App ID";
- static String appKey = "App Key";
- static String baseUrl = "https://api.e-iceblue.cn";
- static Configuration wordConfiguration = new Configuration(appId, appKey, baseUrl);
- static ImagesApi imagesApi = new ImagesApi(wordConfiguration);
- public static void main(String[] args) throws ApiException {
- String name = "Sample.docx";//源文档
- String paragraphPath = "Section/0/Body/0/Paragraph/2";
- Integer index = 0;
- //格式化图片,设置高度、宽度、旋转角度、坐标位置等
- ImageFormat format = new ImageFormat();
- format.setWidth(200);
- format.setHeight(150);
- format.setRotation(15);
- format.setVerticalPosition(50);
- format.setHorizontalPosition(350);
- String folder = "input";//源文档所在文件夹
- String storage = null;
- String password = null;
- String destFilePath = "output/UpdateImageFormat.docx";
- //调用方法格式化图片
- imagesApi.updateImageFormat(name, paragraphPath, index, destFilePath, format, password, folder, storage);
- }
- }
图片格式化效果:
示例4—获取Word中的图片格式
- import spire.cloud.word.sdk.client.ApiException;
- import spire.cloud.word.sdk.client.Configuration;
- import spire.cloud.word.sdk.client.api.ImagesApi;
- public class GetImageFormat {
- static String appId = "App ID";
- static String appKey = "App Key";
- static String baseUrl = "https://api.e-iceblue.cn";
- static Configuration wordConfiguration = new Configuration(appId, appKey, baseUrl);
- static ImagesApi imagesApi = new ImagesApi(wordConfiguration);
- public static void main(String[] args) throws ApiException {
- String name = "Sample.docx";
- String paragraphPath = "Section/0/Body/0/Paragraph/2";
- Integer index = 0;
- String folder = "input";
- String storage = null;
- String password = null;
- System.out.println(imagesApi.getImageFormat(name, paragraphPath, index, password, folder, storage));
- }
- }
附:Java 操作Word中的文本可参考这篇文章。
(完)
Java 添加、删除、格式化Word中的图片的更多相关文章
- Java 添加、提取PDF中的图片
Spire.Cloud.SDK for Java提供了PdfImagesApi接口可用于添加图片到PDF文档addImage().提取PDF中的图片extractImages(),具体操作步骤和Jav ...
- Java 添加、删除、替换、格式化Word中的文本(基于Spire.Cloud.SDK for Java)
Spire.Cloud.SDK for Java提供了TextRangesApi接口可通过addTextRange()添加文本.deleteTextRange()删除文本.updateTextRang ...
- Java利用poi生成word(包含插入图片,动态表格,行合并)
转(小改): Java利用poi生成word(包含插入图片,动态表格,行合并) 2018年12月20日 09:06:51 wjw_11093010 阅读数:70 Java利用poi生成word(包含插 ...
- word中更改图片和标题之间的垂直距离
word中插入图片后.往往须要给图片加上标题. 你插入图片和给图片插入标题时,word用的是默认的格式给你插入的图片和标题. 假如原来的paragraph是2倍行距.你的图片和标题之间的距离也是2倍行 ...
- 利用POI抽取word中的图片并保存在文件中
利用POI抽取word中的图片并保存在文件中 poi.apache.org/hwpf/quick-guide.html 1.抽取word doc中的图片 package parse; import j ...
- 如何把word中的图片怎么导出来呢?
在办公使用word的过程中你可能经常会遇到这个问题:插入到word中的图片找不到导出来的方法,是不是很郁闷呢,别急,今天咱们研究一下把word中的图片导出来的方法(把"我的"变成你 ...
- 写带有清晰图片的博客:如何将word中的图片复制到windows live writer保持大小不变--清晰度不变
写blog的习惯,先在word写了,复制到windows live writer,再发布到博客园.word中的文章,图片有缩放比例,复制到windows live writer后图片变得不清晰.除了一 ...
- 如何将word中的图片和文字导入自己的博客中
目前大部分的博客作者在用Word写博客这件事情上都会遇到以下3个痛点: 1.所有博客平台关闭了文档发布接口,用户无法使用Word,Windows Live Writer等工具来发布博客.使用Word写 ...
- 怎样将word中的图片插入到CSDN博客中
目前大部分的博客作者在用Word写博客这件事情上都会遇到以下3个痛点: 1.所有博客平台关闭了文档发布接口,用户无法使用Word,Windows Live Writer等工具来发布博客.使用Word写 ...
随机推荐
- Python GIL(全局解释器锁)
理解并发和并行 并行:多个CPU同时执行多个不同的多任务. 就像两个程序(进程),这两个程序是真的在不同的CPU内同时执行多个任务. 并发:CPU切换处理不同的多任务, 还是有两个程序,但只有一个CP ...
- day58 bootstrap效果无法显示
在学习bootstrap时直接复制官网的组件的时候,如果效果无法想官网一样显示,最大的可能是类库导入的顺序问题. 打开页面>检查>Console 我们会发现一条报错,导入的js需要jQue ...
- day58 前端收尾
目录 一.jQuery结束 1 阻止后续事件执行 2 阻止事件冒泡 3 事件委托 4 页面加载 5 动画效果 6 补充知识点 二.前端框架Bootstrap 1 布局容器 2 栅格系统 3 栅格参数 ...
- redis(二十二):Redis 集群(proxy 型)一
redis伪集群搭建 搭建环境是vmware虚拟机+ubuntu-14.04,以redis伪集群的方式搭建搭建,一共实现了6台机器集群的搭建,三个master节点和三个slave节点. <pre ...
- redis(五):Redis 键(key)(python)
# -*- coding: utf-8 -*- import redis #这个redis 连接不能用,请根据自己的需要修改 r =redis.Redis(host="123.516.174 ...
- Python面向对象02/类的空间问题、类与对象之间的关系、类与类之间的关系
Python面向对象02/类的空间问题.类与对象之间的关系.类与类之间的关系 目录 Python面向对象02/类的空间问题.类与对象之间的关系.类与类之间的关系 1. 类的空间问题 2. 类与对象之间 ...
- tensorboard学习笔记
TensorBoard 默认是不会记录每个节点的用时.耗费的内存大小等这些信息的,那么如何才能在图上显示这些信息呢?关键就是如下这些代码,主要就是在 sess.run() 中加入 options 和 ...
- bzoj2288【POJ Challenge】生日礼物*
bzoj2288[POJ Challenge]生日礼物 题意: 给一个序列,求不超过m个连续的部分,使元素和最大.序列大小≤100000 题解: 先把连续的正数和负数合并起来,接着如果正数个数小于m则 ...
- bzoj4459[Jsoi2013]丢番图
bzoj4459[Jsoi2013]丢番图 题意: 丢番图方程:1/x+1/y=1/n(x,y,n∈N+) ,给定n,求出关于n的丢番图方程有多少组解.n≤10^14. 题解: 通分得yn+xn=xy ...
- Python 3基础教程8-if else语句
终于更新到了,教程8, 如果对python软件测试.接口测试.自动化测试.面试经验交流.感兴趣可以加君羊软件测试交流: 1079636098,还会有同行一起技术交流. 本文介绍if else语句,不多 ...