本文介绍使用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的依赖,如下:

  1. <repositories>
  2. <repository>
  3. <id>com.e-iceblue</id>
  4. <name>cloud</name>
  5. <url>http://repo.e-iceblue.cn/repository/maven-public/</url>
  6. </repository>
  7. </repositories>
  8.  
  9. <dependencies>
  10. <dependency>
  11. <groupId> cloud </groupId>
  12. <artifactId>spire.cloud.sdk</artifactId>
  13. <version>3.5.0</version>
  14. </dependency>
  15.  
  16. <dependency>
  17. <groupId> com.google.code.gson</groupId>
  18. <artifactId>gson</artifactId>
  19. <version>2.8.1</version>
  20. </dependency>
  21.  
  22. <dependency>
  23. <groupId> com.squareup.okhttp</groupId>
  24. <artifactId>logging-interceptor</artifactId>
  25. <version>2.7.5</version>
  26. </dependency>
  27.  
  28. <dependency>
  29. <groupId> com.squareup.okhttp </groupId>
  30. <artifactId>okhttp</artifactId>
  31. <version>2.7.5</version>
  32. </dependency>
  33.  
  34. <dependency>
  35. <groupId> com.squareup.okio </groupId>
  36. <artifactId>okio</artifactId>
  37. <version>1.6.0</version>
  38. </dependency>
  39.  
  40. <dependency>
  41. <groupId> io.gsonfire</groupId>
  42. <artifactId>gson-fire</artifactId>
  43. <version>1.8.0</version>
  44. </dependency>
  45.  
  46. <dependency>
  47. <groupId>io.swagger</groupId>
  48. <artifactId>swagger-annotations</artifactId>
  49. <version>1.5.18</version>
  50. </dependency>
  51.  
  52. <dependency>
  53. <groupId> org.threeten </groupId>
  54. <artifactId>threetenbp</artifactId>
  55. <version>1.3.5</version>
  56. </dependency>
  57. </dependencies>

完成配置后,点击“Import Changes” 即可导入所有需要的jar文件。如果使用的是Eclipse,可参考这里的导入方法。

导入结果:

步骤2:登录冰蓝云账号,创建文件夹,上传用于测试的源文档

步骤3:创建应用程序,获取App ID及App Key

完成以上步骤后,接下来可参考Java示例代码进行Word文档操作


示例1—添加图片到Word

  注:添加图片时,可以将云端文件夹中的图片添加到Word,也可以将本地路径中的图片添加到Word。

  1. import spire.cloud.word.sdk.client.*;
  2. import spire.cloud.word.sdk.client.api.ImagesApi;
  3.  
  4. import java.io.File;
  5.  
  6. public class AddImage {
  7. static String appId = "App ID";
  8. static String appKey = "App Key";
  9. static String baseUrl = "https://api.e-iceblue.cn";
  10. static Configuration wordConfiguration = new Configuration(appId, appKey, baseUrl);
  11. static ImagesApi imagesApi = new ImagesApi(wordConfiguration);
  12.  
  13. public static void main(String[] args) throws ApiException {
  14. String name = "testfile.docx";//源文档
  15. String imagePath = "input/Javalogo.png";//云端文件夹下的图片
  16. //File inputImage = new File("C:/Users/Administrator/Desktop/images/logo/Javalogo.png");//本地图片
  17. String paragraphPath = "Section/0/Body/0/Paragraph/0";//指定段落
  18. String folder = "input";//源文档和图片所在的云端文件夹
  19. String storage = null;
  20. String password = null;
  21. Integer indexInParagraph = 1;
  22. String destFilePath = "output/AddImageToWord.docx";
  23.  
  24. //调用方法将云端图片添加到Word
  25. imagesApi.addImage(name, imagePath, paragraphPath, destFilePath, folder, storage, password, indexInParagraph);
  26.  
  27. //调用方法将本地图片添加到Word
  28. //imagesApi.addImageInRequest(name,inputImage,paragraphPath,destFilePath,folder,storage,password,indexInParagraph);
  29. }
  30. }

图片添加效果:

示例2—删除Word中的图片

  1. import spire.cloud.word.sdk.client.ApiException;
  2. import spire.cloud.word.sdk.client.Configuration;
  3. import spire.cloud.word.sdk.client.api.ImagesApi;
  4.  
  5. public class DeleteImage {
  6. static String appId = "App ID";
  7. static String appKey = "App Key";
  8. static String baseUrl = "https://api.e-iceblue.cn";
  9. static Configuration wordConfiguration = new Configuration(appId, appKey, baseUrl);
  10. static ImagesApi imagesApi = new ImagesApi(wordConfiguration);
  11.  
  12. public static void main(String[] args) throws ApiException {
  13. String name = "Sample.docx";//包含图片的Word源文档
  14. String paragraphPath = "Section/0/Body/0/Paragraph/2";//指定段落
  15. Integer index = 0;
  16. String folder = "input";//源文档所在文件
  17. String storage = null;
  18. String password = null;
  19. String destFilePath = "output/DeleteImageInWord.docx";//结果文档路径
  20.  
  21. //调用方法删除掉段落中的图片
  22. imagesApi.deleteImage(name, paragraphPath, index, destFilePath, folder, storage, password);
  23. }
  24. }

图片删除效果:

示例3—设置Word中的图片格式

  1. import spire.cloud.word.sdk.client.ApiException;
  2. import spire.cloud.word.sdk.client.Configuration;
  3. import spire.cloud.word.sdk.client.api.ImagesApi;
  4. import spire.cloud.word.sdk.client.model.ImageFormat;
  5.  
  6. public class UpdateImageFormat {
  7. static String appId = "App ID";
  8. static String appKey = "App Key";
  9. static String baseUrl = "https://api.e-iceblue.cn";
  10. static Configuration wordConfiguration = new Configuration(appId, appKey, baseUrl);
  11.  
  12. static ImagesApi imagesApi = new ImagesApi(wordConfiguration);
  13. public static void main(String[] args) throws ApiException {
  14. String name = "Sample.docx";//源文档
  15. String paragraphPath = "Section/0/Body/0/Paragraph/2";
  16. Integer index = 0;
  17.  
  18. //格式化图片,设置高度、宽度、旋转角度、坐标位置等
  19. ImageFormat format = new ImageFormat();
  20. format.setWidth(200);
  21. format.setHeight(150);
  22. format.setRotation(15);
  23. format.setVerticalPosition(50);
  24. format.setHorizontalPosition(350);
  25.  
  26. String folder = "input";//源文档所在文件夹
  27. String storage = null;
  28. String password = null;
  29. String destFilePath = "output/UpdateImageFormat.docx";
  30.  
  31. //调用方法格式化图片
  32. imagesApi.updateImageFormat(name, paragraphPath, index, destFilePath, format, password, folder, storage);
  33. }
  34. }

图片格式化效果:

示例4—获取Word中的图片格式

  1. import spire.cloud.word.sdk.client.ApiException;
  2. import spire.cloud.word.sdk.client.Configuration;
  3. import spire.cloud.word.sdk.client.api.ImagesApi;
  4.  
  5. public class GetImageFormat {
  6. static String appId = "App ID";
  7. static String appKey = "App Key";
  8. static String baseUrl = "https://api.e-iceblue.cn";
  9. static Configuration wordConfiguration = new Configuration(appId, appKey, baseUrl);
  10. static ImagesApi imagesApi = new ImagesApi(wordConfiguration);
  11.  
  12. public static void main(String[] args) throws ApiException {
  13. String name = "Sample.docx";
  14. String paragraphPath = "Section/0/Body/0/Paragraph/2";
  15. Integer index = 0;
  16. String folder = "input";
  17. String storage = null;
  18. String password = null;
  19. System.out.println(imagesApi.getImageFormat(name, paragraphPath, index, password, folder, storage));
  20. }
  21. }

:Java 操作Word中的文本可参考这篇文章

(完)

Java 添加、删除、格式化Word中的图片的更多相关文章

  1. Java 添加、提取PDF中的图片

    Spire.Cloud.SDK for Java提供了PdfImagesApi接口可用于添加图片到PDF文档addImage().提取PDF中的图片extractImages(),具体操作步骤和Jav ...

  2. Java 添加、删除、替换、格式化Word中的文本(基于Spire.Cloud.SDK for Java)

    Spire.Cloud.SDK for Java提供了TextRangesApi接口可通过addTextRange()添加文本.deleteTextRange()删除文本.updateTextRang ...

  3. Java利用poi生成word(包含插入图片,动态表格,行合并)

    转(小改): Java利用poi生成word(包含插入图片,动态表格,行合并) 2018年12月20日 09:06:51 wjw_11093010 阅读数:70 Java利用poi生成word(包含插 ...

  4. word中更改图片和标题之间的垂直距离

    word中插入图片后.往往须要给图片加上标题. 你插入图片和给图片插入标题时,word用的是默认的格式给你插入的图片和标题. 假如原来的paragraph是2倍行距.你的图片和标题之间的距离也是2倍行 ...

  5. 利用POI抽取word中的图片并保存在文件中

    利用POI抽取word中的图片并保存在文件中 poi.apache.org/hwpf/quick-guide.html 1.抽取word doc中的图片 package parse; import j ...

  6. 如何把word中的图片怎么导出来呢?

    在办公使用word的过程中你可能经常会遇到这个问题:插入到word中的图片找不到导出来的方法,是不是很郁闷呢,别急,今天咱们研究一下把word中的图片导出来的方法(把"我的"变成你 ...

  7. 写带有清晰图片的博客:如何将word中的图片复制到windows live writer保持大小不变--清晰度不变

    写blog的习惯,先在word写了,复制到windows live writer,再发布到博客园.word中的文章,图片有缩放比例,复制到windows live writer后图片变得不清晰.除了一 ...

  8. 如何将word中的图片和文字导入自己的博客中

    目前大部分的博客作者在用Word写博客这件事情上都会遇到以下3个痛点: 1.所有博客平台关闭了文档发布接口,用户无法使用Word,Windows Live Writer等工具来发布博客.使用Word写 ...

  9. 怎样将word中的图片插入到CSDN博客中

    目前大部分的博客作者在用Word写博客这件事情上都会遇到以下3个痛点: 1.所有博客平台关闭了文档发布接口,用户无法使用Word,Windows Live Writer等工具来发布博客.使用Word写 ...

随机推荐

  1. Python GIL(全局解释器锁)

    理解并发和并行 并行:多个CPU同时执行多个不同的多任务. 就像两个程序(进程),这两个程序是真的在不同的CPU内同时执行多个任务. 并发:CPU切换处理不同的多任务, 还是有两个程序,但只有一个CP ...

  2. day58 bootstrap效果无法显示

    在学习bootstrap时直接复制官网的组件的时候,如果效果无法想官网一样显示,最大的可能是类库导入的顺序问题. 打开页面>检查>Console 我们会发现一条报错,导入的js需要jQue ...

  3. day58 前端收尾

    目录 一.jQuery结束 1 阻止后续事件执行 2 阻止事件冒泡 3 事件委托 4 页面加载 5 动画效果 6 补充知识点 二.前端框架Bootstrap 1 布局容器 2 栅格系统 3 栅格参数 ...

  4. redis(二十二):Redis 集群(proxy 型)一

    redis伪集群搭建 搭建环境是vmware虚拟机+ubuntu-14.04,以redis伪集群的方式搭建搭建,一共实现了6台机器集群的搭建,三个master节点和三个slave节点. <pre ...

  5. redis(五):Redis 键(key)(python)

    # -*- coding: utf-8 -*- import redis #这个redis 连接不能用,请根据自己的需要修改 r =redis.Redis(host="123.516.174 ...

  6. Python面向对象02/类的空间问题、类与对象之间的关系、类与类之间的关系

    Python面向对象02/类的空间问题.类与对象之间的关系.类与类之间的关系 目录 Python面向对象02/类的空间问题.类与对象之间的关系.类与类之间的关系 1. 类的空间问题 2. 类与对象之间 ...

  7. tensorboard学习笔记

    TensorBoard 默认是不会记录每个节点的用时.耗费的内存大小等这些信息的,那么如何才能在图上显示这些信息呢?关键就是如下这些代码,主要就是在 sess.run() 中加入 options 和  ...

  8. bzoj2288【POJ Challenge】生日礼物*

    bzoj2288[POJ Challenge]生日礼物 题意: 给一个序列,求不超过m个连续的部分,使元素和最大.序列大小≤100000 题解: 先把连续的正数和负数合并起来,接着如果正数个数小于m则 ...

  9. bzoj4459[Jsoi2013]丢番图

    bzoj4459[Jsoi2013]丢番图 题意: 丢番图方程:1/x+1/y=1/n(x,y,n∈N+) ,给定n,求出关于n的丢番图方程有多少组解.n≤10^14. 题解: 通分得yn+xn=xy ...

  10. Python 3基础教程8-if else语句

    终于更新到了,教程8, 如果对python软件测试.接口测试.自动化测试.面试经验交流.感兴趣可以加君羊软件测试交流: 1079636098,还会有同行一起技术交流. 本文介绍if else语句,不多 ...