在 Java 中获取或设置 PDF 元数据

介绍
由于其固定和可呈现的性质,PDF 文件被用户和企业广泛用于 Web 应用程序。这些文件中的每一个都包含“元数据”,它本质上转换为有关数据的数据。PDF 元数据包含有关文档的补充信息,例如文档的作者、主题、标题、创建日期等。如果 PDF 文件最初是通过从原始源文档(即 DocX、PPT 等)传输创建的,则还会自动添加其他信息,例如文件大小以及文件是否针对 Web 进行了优化。

那么,为什么这个PDF元数据与你的业务相关呢?如果您有可在您的网站或应用程序上访问的 PDF 文档,则元数据可以使搜索引擎轻松找到这些文档。因此,如果您塑造 PDF 的元数据以允许搜索引擎可能选择的关键字,您将能够提高文档的可搜索性。

以下 API 将允许您从 PDF 文件中提取或设置元数据,并编辑或利用这些信息来满足您的业务需求。

教程
首先,我们首先需要通过添加对存储库的引用来安装 Maven SDK,pom.xml:

<repositories>
2
    <repository>
3
        <id>jitpack.io</id>
4
        <url>https://jitpack.io</url>
5
    </repository>
6
</repositories>

然后,我们可以添加对依赖项的引用:

<dependencies>
2
<dependency>
3
    <groupId>com.github.Cloudmersive</groupId>
4
    <artifactId>Cloudmersive.APIClient.Java</artifactId>
5
    <version>v3.90</version>
6
</dependency>
7
</dependencies>

安装完成后,我们可以将导入添加到控制器顶部并配置 API 密钥。如果您还没有 API 密钥,可以在 Cloudmersive 网站上注册一个免费帐户来检索它。

// Import classes:
2
//import com.cloudmersive.client.invoker.ApiClient;
3
//import com.cloudmersive.client.invoker.ApiException;
4
//import com.cloudmersive.client.invoker.Configuration;
5
//import com.cloudmersive.client.invoker.auth.*;
6
//import com.cloudmersive.client.EditPdfApi;
7
8
ApiClient defaultClient = Configuration.getDefaultApiClient();
9
10
// Configure API key authorization: Apikey
11
ApiKeyAuth Apikey = (ApiKeyAuth) defaultClient.getAuthentication("Apikey");
12
Apikey.setApiKey("YOUR API KEY");
13
// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
14
//Apikey.setApiKeyPrefix("Token");

如果您只想从 PDF 中收集元数据,以下函数将为您执行该操作 - 您只需要输入目标 PDF 文件。

EditPdfApi apiInstance = new EditPdfApi();
2
File inputFile = new File("/path/to/inputfile"); // File | Input file to perform the operation on.
3
try {
4
    PdfMetadata result = apiInstance.editPdfGetMetadata(inputFile);
5
    System.out.println(result);
6
} catch (ApiException e) {
7
    System.err.println("Exception when calling EditPdfApi#editPdfGetMetadata");
8
    e.printStackTrace();
9
}

但是,如果您要编辑/设置 PDF 文档的元数据,则将改用以下 API 函数:

EditPdfApi apiInstance = new EditPdfApi();
2
SetPdfMetadataRequest request = new SetPdfMetadataRequest(); // SetPdfMetadataRequest | 
3
try {
4
    byte[] result = apiInstance.editPdfSetMetadata(request);
5
    System.out.println(result);
6
} catch (ApiException e) {
7
    System.err.println("Exception when calling EditPdfApi#editPdfSetMetadata");
8
    e.printStackTrace();
9
}

为了使上述操作顺利进行,请务必同时输入所需的元数据信息:

{
2
  "InputFileBytes": "string",
3
  "MetadataToSet": {
4
    "Successful": true,
5
    "Title": "string",
6
    "Keywords": "string",
7
    "Subject": "string",
8
    "Author": "string",
9
    "Creator": "string",
10
    "DateModified": "2021-02-22T17:38:53.962Z",
11
    "DateCreated": "2021-02-22T17:38:53.962Z",
12
    "PageCount": 0
13
  }
14
}

总之,我们希望本教程中提供的工具可以帮助您根据个人或业务需求优化 PDF 元数据。

  • 11
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小徐博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值