Spire.Cloud.Word API给开发者提供了 imagesApi 类用于添加,获取或删除Word文档里的图片。本文将介绍如何使用Spire.Cloud.Word API插入图片到Word文档,并设置Word文档里的图片大小,样式等。
首先,请在 https://cloud.e-iceblue.cn 网站上注册账号并登陆,然后点击导航栏“我的应用” ,创建一个应用,获得App ID和App Key。
2、点击导航栏“文档管理”,将Word示例文档和准备插入的图片上传至“我的文档”。
3. 创建Maven应用程序,在pom.xml文件中添加以下Spire.Cloud.SDK的Maven依赖。详细步骤参考文章 通过 Maven 仓库安装 Spire.Cloud Web API。
<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>
4. 新建Java class,调用Spire.Cloud.Word API操作Word文档中的图片。
插入图片到Word示例代码
import spire.cloud.word.sdk.client.*;
import spire.cloud.word.sdk.client.api.ImagesApi;
public class CloudWord {
static String appId = "APP ID";
static String appKey = "APP Key";
static String baseUrl = "https://api.e-iceblue.cn";
//配置App ID和App Key
static Configuration wordConfiguration = new Configuration(appId, appKey, baseUrl);
//创建ImagesApi实例
static ImagesApi imagesApi = new ImagesApi(wordConfiguration);
public static void main(String[] args) throws ApiException {
//示例文档
String name = "Sample.docx";
//图片
String imagePath = "logo.png";
String paragraphPath = "Section/0/Body/0/Paragraph/0";
//存放原文档的文件夹,没有则为null
String folder = null;
//使用冰蓝云配置的2G空间存贮文档,可设置为null
String storage = null;
String password = null;
Integer indexInParagraph = 0;
//插入图片并保存到指定路径
String destFilePath = "output/addImage_out.docx";
imagesApi.addImage(name, imagePath, paragraphPath, destFilePath, folder, storage, password, indexInParagraph);
}
效果图:
因为图片过大,所以我们需要调整图片大小,让整个Word页面更美观。接下来我们同样使用ImagesAPI设置图片大小,位置,旋转角度等。
import spire.cloud.word.sdk.client.*;
import spire.cloud.word.sdk.client.api.ImagesApi;
import spire.cloud.word.sdk.client.model.ImageFormat;
public class CloudWord {
static String appId = "APP ID";
static String appKey = "APP Key";
static String baseUrl = "https://api.e-iceblue.cn";
//配置App ID和App Key
static Configuration wordConfiguration = new Configuration(appId, appKey, baseUrl);
//创建ImagesApi实例
static ImagesApi imagesApi = new ImagesApi(wordConfiguration);
public static void main(String[] args) throws ApiException {
//加载示例文档
String name = "addImage_out.docx";
String paragraphPath = "Section/0/Body/0/Paragraph/0";
Integer index = 0;
ImageFormat format = new ImageFormat();
//设置图片大小
format.setWidth(200);
format.setHeight(200);
format.setVerticalPosition(50);
format.setHorizontalPosition(50);
//设置图片旋转角度
format.setRotation(20);
//存放原文档的文件夹,没有则为null
String folder = "output";
String storage = null;
String password = null;
//保存到指定路径
String destFilePath = "output/updateImageFormat_out.docx";
imagesApi.updateImageFormat(name, paragraphPath, index, destFilePath, format, password, folder, storage);
}
}
效果图: