Spire.Cloud.PDF API 提供了 PdfImageApi 接口, 支持给 PDF 添加图片及提取文档中已有的图片。本文将介绍如何使用该接口来进行上述图片操作。
详细步骤如下:
1、创建 maven 程序,并通过 maven 仓库安装 Spire.Cloud.SDK.jar 包及其依赖。详细步骤可参考这篇文章。
2、通过冰蓝云官网(https://cloud.e-iceblue.cn/)注册账号并登陆,在“我的应用”版块创建应用程序,以获得 App ID 及 App Key。
3、上传 PDF 示例文档至冰蓝云官网的“文档管理”版块。
4、在 Maven 程序中编写代码调用 PdfImageApi 接口给示例 PDF 文档添加图片及提取文档中已有的图片。
添加图片到 PDF
import spire.cloud.pdf.sdk.*;
import java.io.File;
import spire.cloud.pdf.sdk.api.PdfImagesApi;
public class AddImage {
private static String appId = "App ID";
private static String appKey = "App Key";
private static String baseUrl = "https://api.e-iceblue.cn";
public static void main(String[] args) throws ApiException {
//配置账号信息
Configuration configuration = new Configuration(appId, appKey, baseUrl);
//创建PdfImageApi实例
PdfImagesApi api = new PdfImagesApi(configuration);
//示例文档名称
String name = "Sample.pdf";
//设置生成文档的路径及名称
String outPath = "AddImage_output.pdf";
//需要添加图片的文档页码索引
int pageNumber = 1;
//加载图片并设置其大小和位置
File file = new File("C:\\Users\\Test1\\Desktop\\Image.jpg");
Float x = 0f;//图片插入位置的横坐标
Float y = 0f;//图片插入位置的纵坐标
Float width = 100f;//图片的宽度
Float height = 100f;//图片的高度
//存放示例文档的文件夹,如果没有文件夹则为null
String folder = null;
//文档的打开密码,没有则为null
String password = null;
//使用冰蓝云配置的2G空间存贮文档,可设置为null
String storage = null;
//调用addImage接口添加图片
api.addImage(name, outPath, pageNumber, file, x, y, width, height, folder,storage, password);
}
}
图片添加效果:
提取 PDF 中的图片
import spire.cloud.pdf.sdk.*;
import spire.cloud.pdf.sdk.api.PdfImagesApi;
public class ExtractImage {
private static String appId = "App ID";
private static String appKey = "App Key";
private static String baseUrl = "https://api.e-iceblue.cn";
public static void main(String[] args) throws ApiException {
//配置账号信息
Configuration configuration = new Configuration(appId, appKey, baseUrl);
//创建PdfImageApi实例
PdfImagesApi api = new PdfImagesApi(configuration);
//示例文档名称
String name = "AddImage_output.pdf";
//设置生成文档的路径及名称
String outPath = "ExtractImages_output.png";
//需要提取图片的文档页码索引
int pageNumber = 1;
//文档的打开密码,没有则为null
String password = null;
//使用冰蓝云配置的2G空间存贮文档,可设置为null
String storage = null;
//存放示例文档的文件夹,如果没有文件夹则为null
String folder = null;
//调用extractImage接口提取图片
api.extractImages(name, outPath, pageNumber, folder, storage, password);
}
}
图片提取效果: