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模型的传输层。*传输层的主要职责是确保…...
Mermaid图表绘制终极指南:用Markdown代码快速创建专业图表
Mermaid图表绘制终极指南:用Markdown代码快速创建专业图表 【免费下载链接】mermaid mermaid-js/mermaid: 是一个用于生成图表和流程图的 Markdown 渲染器,支持多种图表类型和丰富的样式。适合对 Markdown、图表和流程图以及想要使用 Markdown 绘制图表和…...
Agisoft Metashape相机标定实战:从原理到精准操作
1. 相机标定为什么重要?从拍照误差说起 每次用手机拍文档时,边缘文字总会出现弯曲变形;航拍测绘时,明明飞行路线笔直,生成的模型却出现波浪形扭曲——这些问题的根源往往在于镜头畸变。就像近视眼看到的世界会有变形&a…...
GIL Free ≠ Thread Safe:从Linux futex源码到Python对象头重定义,解构无锁环境下的引用计数崩溃根因(含gdb逆向调试录屏脚本)
第一章:GIL Free ≠ Thread Safe:核心命题与崩溃现象全景Python 的全局解释器锁(GIL)长期被视为多线程性能的桎梏,而 PyPy、Jython 乃至最新 CPython 3.13 的实验性 GIL-free 构建,常被误读为“天然支持安全…...
Sora.FM零基础部署指南:3步上手AI视频生成工具的Linux实践方案
Sora.FM零基础部署指南:3步上手AI视频生成工具的Linux实践方案 【免费下载链接】sorafm 项目地址: https://gitcode.com/GitHub_Trending/so/sorafm Sora.FM是一款基于Sora AI技术的开源视频生成平台,支持通过文本描述创建高质量AI视频。本指南专…...
一丹一世界FLUX.1部署教程:防火墙开放7861端口+nginx反向代理+HTTPS安全加固
一丹一世界FLUX.1部署教程:防火墙开放7861端口nginx反向代理HTTPS安全加固 1. 引言:从本地服务到安全可靠的在线AI画板 你可能已经体验过在本地服务器上运行“一丹一世界”FLUX.1 AI图像生成服务,通过http://你的IP:7861访问那个简洁的界面…...
ReactPy服务端渲染终极指南:如何在Python中构建现代Web应用
ReactPy服务端渲染终极指南:如何在Python中构建现代Web应用 【免费下载链接】reactpy Its React, but in Python 项目地址: https://gitcode.com/gh_mirrors/re/reactpy ReactPy是Python中构建用户界面的革命性库,让你无需JavaScript就能创建现代…...
玩转LS-DYNA爆破模拟:倾斜长短孔布孔实战
ANSYS/ls-dyna隧道、巷道爆破倾斜长短孔布孔方式下爆破损伤数值模拟 1.讲述小间隔长短型炮孔爆破模型的建模及网格划分全过程,包含网格尺寸设计。 2.装药结构修改,可实现长短炮孔中间隔装药、设置空孔,延期起爆、起爆位置等设置,讲…...
深入解析ACS SPiiPlus运动控制器的托管接口设计与实现
1. ACS SPiiPlus运动控制器托管接口概述 在工业自动化领域,运动控制器的性能直接影响着设备的精度和效率。ACS SPiiPlus系列作为业内知名的高性能运动控制器,其托管接口设计一直是工程师们关注的焦点。这套接口本质上是一套软件中间层,它架起…...
AtlasOS系统Xbox控制器驱动问题:三步解决方案与预防指南
AtlasOS系统Xbox控制器驱动问题:三步解决方案与预防指南 【免费下载链接】Atlas 🚀 An open and lightweight modification to Windows, designed to optimize performance, privacy and security. 项目地址: https://gitcode.com/GitHub_Trending/atl…...
乙巳马年·皇城大门春联生成终端W数据库课程设计案例:用户作品管理平台
乙巳马年皇城大门春联生成终端W数据库课程设计案例:用户作品管理平台 又到了一年一度的数据库课程设计选题季,你是不是还在为“学生信息管理系统”、“图书管理系统”这类老掉牙的题目发愁?想找个既有技术深度,又能结合当下热点&…...
