java读取设置pdf属性信息
pom
<dependency><groupId>org.apache.pdfbox</groupId><artifactId>pdfbox</artifactId><version>2.0.24</version>
</dependency>
读取属性
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDDocumentInformation;import java.io.File;
import java.io.IOException;public class ReadPDFProperties {public static void main(String[] args) {try {// 加载PDF文件File file = new File("example.pdf");PDDocument document = PDDocument.load(file);// 获取PDF文档信息PDDocumentInformation info = document.getDocumentInformation();// 读取属性String title = info.getTitle();String author = info.getAuthor();String subject = info.getSubject();String keywords = info.getKeywords();String creator = info.getCreator();String producer = info.getProducer();String creationDate = info.getCreationDate().toString();String modificationDate = info.getModificationDate().toString();String trapped = info.getTrapped();// 输出属性信息System.out.println("Title: " + title);System.out.println("Author: " + author);System.out.println("Subject: " + subject);System.out.println("Keywords: " + keywords);System.out.println("Creator: " + creator);System.out.println("Producer: " + producer);System.out.println("Creation Date: " + creationDate);System.out.println("Modification Date: " + modificationDate);System.out.println("Trapped: " + trapped);// 关闭文档document.close();} catch (IOException e) {e.printStackTrace();}}
}
设置属性
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDDocumentInformation;import java.io.File;
import java.io.IOException;public class PDFPropertiesExample {public static void main(String[] args) {try (PDDocument document = PDDocument.load(new File("example.pdf"))) {PDDocumentInformation info = document.getDocumentInformation();// 设置文档属性info.setAuthor("作者姓名");info.setTitle("文档标题");info.setSubject("文档主题");// 可以设置更多属性,例如:// info.setKeywords("关键词1, 关键词2");// info.setCreator("创建者应用名");// info.setProducer("生产者应用名");// 保存属性document.setDocumentInformation(info);// 保存更改后的文档document.save("updated_example.pdf");} catch (IOException e) {e.printStackTrace();}}
}
相关文章:
java读取设置pdf属性信息
pom <dependency><groupId>org.apache.pdfbox</groupId><artifactId>pdfbox</artifactId><version>2.0.24</version> </dependency>读取属性 import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.pdmod…...
C语言内存管理详解
C语言不像其他高级语言那样提供自动内存管理,它要求程序员手动进行内存的分配和释放。在C语言中,动态内存的管理主要依赖于 malloc、calloc、realloc 和 free 等函数。理解这些函数的用法、内存泄漏的原因及其防止方法,对于编写高效、可靠的C…...
mysql从全备文件中提取单库或单表进行恢复——筑梦之路
前提条件 与业务确认涉及业务、数据库IP、数据误删除时间点、数据删除涉及的SCHEMA、数据表,确认该数据库为MySQLdump备份方式,备份策略为每日凌晨1点进行数据库全备份,备份保留7天,业务误删除数据时间点为当日10点左右࿰…...
HTML-新浪新闻-实现标题-排版
标题排版 图片标签:<img> src:指定图片的url(绝对路径/相对路径) width:图片的宽度(像素/相对于父元素的百分比) heigth:图片的高度(像素/相对于父元素的百分比&a…...
【前沿聚焦】机器学习的未来版图:从自动化到隐私保护的技术突破
网罗开发 (小红书、快手、视频号同名) 大家好,我是 展菲,目前在上市企业从事人工智能项目研发管理工作,平时热衷于分享各种编程领域的软硬技能知识以及前沿技术,包括iOS、前端、Harmony OS、Java、Python等…...
二叉树的最大深度(C语言详解版)
一、摘要 嗨喽呀大家,leetcode每日一题又和大家见面啦,今天要讲的是104.二叉树的最大深度,思路互相学习,有什么不足的地方欢迎指正!好啦让我们开始吧!!! 二、题目简介 给定一个二…...
基于dlib/face recognition人脸识别推拉流实现
目录 一.环境搭建 二.推拉流代码 三.人脸检测推拉流 一.环境搭建 1.下载RTSP服务器MediaMTX与FFmpeg FFmpeg是一款功能强大的开源多媒体处理工具,而MediaMTX则是一个轻量级的流媒体服务器。两者结合,可以实现将本地视频或者实时摄像头画面推送到RTSP流,从而实现视频…...
【kong gateway】5分钟快速上手kong gateway
kong gateway的请求响应示意图 安装 下载对应的docker 镜像 可以直接使用docker pull命令拉取,也可以从以下地址下载:kong gateway 3.9.0.0 docker 镜像 https://download.csdn.net/download/zhangshenglu1/90307400, postgres-13.tar http…...
webrtc入门系列(五)amazon-kinesis-video-streams-webrtc-sdk-c编译
《webrtc入门系列(一)easy_webrtc_server 入门环境搭建》 《webrtc入门系列(二)easy_webrtc_server 入门example测试》 《webrtc入门系列(三)云服务器coturn环境搭建》 《webrtc入门系列(四&…...
通过亚马逊云科技Bedrock打造自定义AI智能体Agent(上)
大家对于智能体代理Agent一定已经非常熟悉,自主代理(Autonomous Agents) 目前在AI行业极其热门并具有巨大的潜力,能够显著提升开发者日常的工作效率、自动化日常琐碎、重复性任务,并生成全新的内容。Agent可以理解用户…...
【Nacos】负载均衡
目录 前言 一、服务下线二、权重配置三、同一个集群优先访问四、环境隔离 前言 我们的生产环境相对是比较恶劣的,我们需要对服务的流量进行更加精细的控制.Nacos支持多种负载均衡策略,包括配置权重,同机房,同地域,同环…...
小智 AI 聊天机器人
小智 AI 聊天机器人 (XiaoZhi AI Chatbot) 👉参考源项目复现 👉 ESP32SenseVoiceQwen72B打造你的AI聊天伴侣!【bilibili】 👉 手工打造你的 AI 女友,新手入门教程【bilibili】 项目目的 本…...
HTML一般标签和自闭合标签介绍
在HTML中,标签用于定义网页内容的结构和样式。标签通常分为两类:一般标签(也称为成对标签或开放闭合标签)和自闭合标签(也称为空标签或自结束标签)。 以下是这两类标签的详细说明: 一、一般标…...
怎么用u盘怎么重装系统_用u盘重装系统详细图文教程【新手教程】
怎么用u盘怎么重装系统?如果需要重装操作系统的话,以往采用光盘使用的比较多,随着技术的进步,用u盘制作一个启动盘安装系统比较方便,只需要用u盘制作好pe启动盘就可以帮助别人安装系统了,那么用u盘怎么重装…...
记录一次k8s起不来的排查过程
我在k8s集群,重启了一个node宿主机,竟然发现kubelet起不来了!报错如下 这个报错很模糊,怎么排查呢。这样,开两个界面,一个重启kubelet,一个看系统日志(/var/log/message:centos,/va…...
代码练习2
求数组中的第二大值 #include <stdio.h> #include <stdlib.h> int main() {int arr[10]{1,9,2,8,7,3,4,6,5,10};int first, second,i;if (arr[0] > arr[1]) {first arr[0];second arr[1];} else {first arr[1];second arr[0];}for(i 2; i < 10; i) {if…...
2.1.3 第一个工程,点灯!
新建工程 点击菜单栏左上角,新建工程或者选择“文件”-“新建工程”,选择工程类型“标准工程”选择设备类型和编程语言,并指定工程文件名及保存路径,如下图所示: 选择工程类型为“标准工程” 选择主模块机型&#x…...
Qt Designer and Python: Build Your GUI
1.install pyside6 2.pyside6-designer.exe 发送到桌面快捷方式 在Python安装的所在 Scripts 文件夹下找到此文件。如C:\Program Files\Python312\Scripts 3. 打开pyside6-designer 设计UI 4.保存为simple.ui 文件,再转成py文件 用代码执行 pyside6-uic.exe simpl…...
蓝桥杯LQ1044 求完数
题目描述 因子:因子也叫因数,例如3515,那么3和5是15的因子。 同时15115,那么1和15也是15的因子。 1,3,5,15 这四个因子是15的所有因子。 完数:如果一个数等于不含它本身的其他因子之…...
消息队列篇--通信协议篇--TCP和UDP(3次握手和4次挥手,与Socket和webSocket的概念区别等)
1、TCP和UDP概述 TCP(传输控制协议,Transmission Control Protocol)和UDP(用户数据报协议,User Datagram Protocol)都算是最底层的通信协议,它们位于OSI模型的传输层。*传输层的主要职责是确保…...
TNTSearch 实战案例:构建电商产品搜索系统的完整流程
TNTSearch 实战案例:构建电商产品搜索系统的完整流程 【免费下载链接】tntsearch A fully featured full text search engine written in PHP 项目地址: https://gitcode.com/gh_mirrors/tn/tntsearch TNTSearch 是一个功能强大的 PHP 全文搜索引擎ÿ…...
比迪丽LoRA模型Ubuntu部署教程:3步完成环境配置与启动
比迪丽LoRA模型Ubuntu部署教程:3步完成环境配置与启动 想在自己的Ubuntu服务器上体验比迪丽LoRA模型,生成风格独特的AI图像,但被复杂的部署步骤劝退?别担心,这篇教程就是为你准备的。我们绕开那些繁琐的源码编译和环境…...
别再死记硬背了!用5分钟搞懂NPN和PNP三极管的电流流向(附快速判断技巧)
5分钟掌握NPN与PNP三极管的电流奥秘:从生活场景到实战技巧 记得第一次拆解收音机时,那些黑色的小方块上延伸出的金属腿让我一头雾水——它们看起来平平无奇,却能控制电流的放大与开关。直到导师用浇花的水管作比喻,三极管的秘密才…...
咱们今天聊点干货——用MATLAB玩转储能电站和微电网的协同优化。这玩意儿听起来高大上,实操起来其实挺有意思。先看上层优化的核心代码段
MATLAB代码:基于储能电站服务的冷热电多微网系统双层优化 MATLAB代码:基于储能电站服务的冷热电多微网系统双层优化|||配置 关键词:储能电站 共享储能电站 冷热电多微网 双层优化配置 参考文档:《基于储能电站服务的冷热电多微…...
SpringBoot+Vue企业员工薪酬管理系统源码+论文
代码可以查看文章末尾⬇️联系方式获取,记得注明来意哦~🌹 分享万套开题报告任务书答辩PPT模板 作者完整代码目录供你选择: 《SpringBoot网站项目》1800套 《SSM网站项目》1500套 《小程序项目》1600套 《APP项目》1500套 《Python网站项目》…...
Java开发者必看:Lingbot深度模型服务端集成与高并发处理
Java开发者必看:Lingbot深度模型服务端集成与高并发处理 最近和几个做Java后端的朋友聊天,发现大家对接AI模型服务时,都遇到了类似的头疼事。模型本身效果不错,但一集成到自己的Spring Boot项目里,特别是流量稍微大点…...
Pcap-Analyzer:Python可视化离线数据包分析工具全攻略
Pcap-Analyzer:Python可视化离线数据包分析工具全攻略 【免费下载链接】Pcap-Analyzer Python编写的可视化的离线数据包分析器 项目地址: https://gitcode.com/gh_mirrors/pc/Pcap-Analyzer 一、功能解析:数据包分析的瑞士军刀 1.1 核心功能图谱…...
Java毕业设计基于springboot+vue的校内兼职信息管理系统
前言 Spring Boot 校内兼职信息管理系统是以 Spring Boot 框架为核心搭建的,专门用于高效管理校园内各类 兼职信息的平台。随着校园生活的多元化发展,学生对兼职机会的需求日益增长,传统的兼职信息发布与管理方式杂乱无章,存在信息…...
Harmonyos应用实例233:数独逻辑教练 (综合与实践)
5. 数独逻辑教练 (综合与实践) 功能介绍: 提供一个 4x4 或 6x6 的入门级数独游戏,专为训练逻辑推理设计。系统随机生成题目,用户点击格子填入数字。如果填入错误,系统会给予红色高亮提示。包含“提示”功能,自动填入一个正确数字,帮助学生理解排除法和唯一性原理。 //…...
3个步骤掌握Book Searcher:从安装到实战高效图书检索工具
3个步骤掌握Book Searcher:从安装到实战高效图书检索工具 【免费下载链接】private This project has been deleted to avoid legal risks. 项目地址: https://gitcode.com/gh_mirrors/pr/private Book Searcher是一款专为私人图书馆管理设计的高效图书检索工…...
