首页 > 编程语言 >在 Java 中获取或设置 PDF 元数据

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

时间:2024-03-31 20:02:18浏览次数:27  
标签:Java string EditPdfApi 获取 API 文档 PDF com

介绍
由于其固定和可呈现的性质,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 元数据。

标签:Java,string,EditPdfApi,获取,API,文档,PDF,com
From: https://blog.csdn.net/QWQ123Q/article/details/137138345

相关文章

  • java-飞机大战(源代码)
    今天来更新我的飞机大战了,是参考尚学堂写的,有需要的小伙伴可以直接来取,关于state=2时以及state=3时的运行时可能不太优化,下周我会更新代码的. 1.整个游戏的主窗口以及游戏方法importjavax.swing.*;importjava.awt.*;importjava.awt.event.KeyAdapter;importjav......
  • Java(2)之变量,数据类型,运算符
    1、标识符在java中标识符是由字母数字下划线,美元符号组成(其中数字没办法作首)在java中是区分大小写的。2、关键字关键字是在java中赋予了特殊的含义的字符,只能用于特定地方例如包package类class接口interface引用:this,supe,创建对象:new等等关键字引用需要注意大小写,且......
  • Java-数据类型
    前言:本文主要讲述八大数据类型以及使用规范,最后对知识进行一个拓展。强类型语言要求变量使用要严格符合规定,所有变量都必须先定义后才能使用弱类型语言基本类型(primitivetype)引用类型(referencetype)*不规范的*规范的*如下面这种定义变量是可以成功:*注意事项:......
  • Java常用API二
    BigDecimal用于解决浮点数运算时,出现结果失真的问题 传统时间:Date日期类//1、创建一个Date的对象,代表系统当前的时间信息Dated=newDate();System.out.println(d);//2、拿到时间毫秒值longtime=d.getTime();//3、把时间毫秒值转换成日期对象:2s后时间是多少time+=......
  • Java基础入门--第三章--面向对象(上)
    面向对象(上)1.1面向对象的思想2类与对象2.1类的定义2.2对象的创建与使用2.3对象的引用传递2.4访问控制权限3封装性3.1为什么要封装3.2如何实现封装4构造方法4.1定义构造方法4.2构造方法的重载5this关键字5.1使用this关键字调用本类中的属性5.2使用this......
  • 程序员/后端开发方向Java 跳槽注意事项(简历和面试经验分享)
    程序员/后端开发方向Java跳槽注意事项(简历和面试经验分享)应届生面试经验参考:https://www.cnblogs.com/rainbow-1/p/16779048.html简历:1、个人感觉还是要写真话,包装的内容要有一定的基础,问起来能够对答几个回合。2、基本信息最好直接写年龄,而不是出生年月。跳槽简历最好标明当......
  • [蓝桥杯] 管道 java题解
    importjava.util.*;/***管道*其实这道题核心根本不用管管道左边的如何,我们可以把左边当成注水口*/publicclassMain{staticintn;staticint[][]pipes;//阀门安排的地方staticintlen;//管道长度publicstaticvoidmain(String[]a......
  • java的抽象类和接口
    抽象类:abstract,可以用此关键字修饰类和方法abstract修饰类就是抽象类,修饰方法就是抽象方法抽象类的注意事项,特点:抽象类不一定有抽象方法,但有抽象方法的类一定是抽象类类该有的成员(成员变量,方法,构造器)抽象类也可以有抽象类的特点:抽象类不能创建对象,仅仅作为一种特殊的父......
  • 2024年最新github之Java排行榜top50项目
    如果有帮助到您还请动动手帮忙点赞,关注,评论转发,感谢啦!......
  • [附源码]计算机毕业设计电影播放器开发与设计(JSP+java+springmvc+mysql+MyBatis)
    本项目包含程序+源码+数据库+LW+调试部署环境,文末可获取一份本项目的java源码和数据库参考。项目文件图项目介绍随着数字媒体技术的发展,电影播放器已成为人们日常生活中不可或缺的娱乐工具。一个功能丰富的电影播放器不仅需要支持各种视频格式、提供高清流畅的播放体验,还应......