Spire.Cloud.PDF 添加、更新和删除 PDF 文档属性

 

Spire.Cloud.PDF提供了PdfPropertiesApi接口,支持添加和操作PDF文档属性。本文将介绍如何使用PdfPropertiesApi接口实现在PDF中添加/更新和删除PDF文档属性。

首先:通过Maven仓库安装Spire.Cloud.SDK jar包及依赖,详细步骤可参考这篇文章

其次:通过冰蓝云官网(https://cloud.e-iceblue.cn/)注册账号并登陆,在“我的应用”版块创建应用程序,获得App ID及App Key。

第三:上传PDF示例文档至冰蓝云官网的“文档管理”版块。为了便于文档管理,您也可以先创建文件夹“input”和“output”,然后将示例上传至input文件夹,output文件夹用于存放生成的文档。

Spire.Cloud.PDF 添加、更新和删除 PDF 文档属性

最后:在Java程序中编写代码在PDF中添加/更新和删除PDF文档属性。

示例1、添加/更新文档属性

import spire.cloud.pdf.sdk.ApiException;
import spire.cloud.pdf.sdk.Configuration;
import spire.cloud.pdf.sdk.api.PdfPropertiesApi;
import spire.cloud.pdf.sdk.model.DocumentProperties;
import spire.cloud.pdf.sdk.model.DocumentProperty;

import java.util.ArrayList;

public class AddDocumentProperties {
    static String appId = "APP ID";
    static String appKey = "APP Key";
    static String baseUrl = "https://api.e-iceblue.cn";
    public static void main(String[] args) throws ApiException {
        //配置APP ID和APP Key
        Configuration PdfConfiguration = new Configuration(appId, appKey, baseUrl);
        //创建PdfPropertiesApi实例
        PdfPropertiesApi pdfPropertiesApi = new PdfPropertiesApi(PdfConfiguration);

        //示例文档名称
        String name = "Sample.pdf";
        //存放示例文档的文件夹
        String folder = "input";
        //示例文档的密码
        String password = null;
        //使用冰蓝云默认的存储空间
        String storage = null;
        //输出文档路径
        String outPath = "output/AddOrUpdateProperties.pdf";

        DocumentProperties properties = new DocumentProperties();
        properties.setList(new ArrayList());
        //创建内置文档属性
        DocumentProperty property = new DocumentProperty();
        property.setName("author");
        property.setValue("Simon");
        properties.getList().add(property);
        property = new DocumentProperty();
        property.setName("creator");
        property.setValue("Simon2");
        properties.getList().add(property);
        property = new DocumentProperty();
        property.setName("keywords");
        property.setValue("the keywords");
        properties.getList().add(property);
        property = new DocumentProperty();
        property.setName("producer");
        property.setValue("Spire.pdf");
        properties.getList().add(property);
        property = new DocumentProperty();
        property.setName("subject");
        property.setValue("the subject");
        properties.getList().add(property);
        property = new DocumentProperty();
        property.setName("title");
        property.setValue("the title");
        properties.getList().add(property);

        //创建自定义文档属性
        property = new DocumentProperty();
        property.setName("customProperty1");
        property.setValue("the customProperty1");
        properties.getList().add(property);
        property = new DocumentProperty();
        property.setName("customProperty2");
        property.setValue("the customProperty2");
        properties.getList().add(property);

        //调用addOrUpdateProperties添加或更新文档属性
        pdfPropertiesApi.addOrUpdateProperties(name, outPath, properties, folder, storage, password);
    }
}

Spire.Cloud.PDF 添加、更新和删除 PDF 文档属性

示例2、删除文档属性

import spire.cloud.pdf.sdk.ApiException;
import spire.cloud.pdf.sdk.Configuration;
import spire.cloud.pdf.sdk.api.PdfPropertiesApi;

public class DeleteDocumentProperties {
    static String appId = "APP ID";
    static String appKey = "APP Key";
    static String baseUrl = "https://api.e-iceblue.cn";
    public static void main(String[] args) throws ApiException {
        //配置APP ID和APP Key
        Configuration PdfConfiguration = new Configuration(appId, appKey, baseUrl);
        //创建PdfPropertiesApi实例
        PdfPropertiesApi pdfPropertiesApi = new PdfPropertiesApi(PdfConfiguration);

        //示例文档名称
        String name = "Example.pdf";
        //存放示例文档的文件夹
        String folder = "input";
        //示例文档的密码
        String password = null;
        //使用冰蓝云默认的存储空间
        String storage = null;
        //输出文档路径
        String outPath = "output/DeleteProperties.pdf";

        //调用deleteProperties方法删除文档的文档属性
        pdfPropertiesApi.deleteProperties(name, outPath, folder, storage, password);
    }
}