通过Python设置及读取PDF属性,轻松管理PDF文档

PDF文档属性是嵌入在PDF文档中的一些与文档有关的信息,如作者、制作软件、标题、主题等。PDF属性分为默认属性和自定义属性两种,其中默认属性是一些固定的文档信息,部分信息自动生成(如文件大小、页数、页面大小等信息),其他信息则可以进行设置。设置这些文档属性可以帮助文档阅读者快速地掌握文档的主要内容以及关键信息,同时方便对文档进行整理归纳。本文将介绍如何使用Python通过简单的操作设置PDF文档属性

  • 设置PDF文档默认属性和自定义属性
  • 获取PDF文档默认属性和自定义属性

本文所使用的方法需要用到Spire.PDF for Python,一个PDF文档处理API,可通过官网获取或通过PyPI安装:

pip install Spire.PDF

设置PDF文档默认属性和自定义属性

使用 PdfDocument.DocumentInformation 属性可以获取PDF文档的属性信息(PdfDocumentInformation对象),接着使用 PdfDocumentInformation 类下的属性以及PdfDocumentInformation.SetCustomProperty() 方法可对PDF文档的默认属性和自定义属性进行设置。下面是示例:

  1. 创建 PdfDocument 对象并使用 PdfDocument.LoadFromFile() 方法加载PDF文档。
  2. 通过 PdfDocument.DocumentInformation 属性获取该PDF文档的属性。
  3. 通过 PdfDocumentInformation 下的属性设置PDF默认属性。
  4. 使用 PdfDocumentInformation.SetCustomProperty() 方法设置PDF自定义属性。
  5. 使用 PdfDocument.SaveToFile() 方法保存PDF文档。

代码示例
Python

from spire.pdf import *
from spire.pdf.common import *# 创建PdfDocument对象并载入PDF文档
pdf = PdfDocument()
pdf.LoadFromFile("示例.pdf")# 获取PDF文档属性
properties = pdf.DocumentInformation# 设置PDF默认属性
properties.Author = "乔林"
properties.Creator = "PDF制作器"
properties.Keywords = "数据库;云数据库"
properties.Subject = "云数据库及其优势介绍"
properties.Title = "云数据库的力量:强化数字化企业"
properties.Producer = "PDF制作器 1.3"# 设置PDF自定义属性
properties.SetCustomProperty("公司", "科技有限公司")
properties.SetCustomProperty("标签", "数据服务,数据储存,云数据库")# 保存PDF文档
pdf.SaveToFile("PDF属性.pdf")
pdf.Close()

设置效果
设置PDF文档默认属性和自定义属性

获取PDF文档默认属性和自定义属性

获取PDF文档属性也可以通过类似的操作。在获取PDF文档属性信息后,直接通过 PdfDocumentInformation 类下的属性获取指定的默认属性内容,自定义属性内容则可以通过 PdfDocumentInformation.GetCustomProperty() 方法获取。下面是示例:

  1. 创建 PdfDocument 对象并使用 PdfDocument.LoadFromFile() 方法加载PDF文档。
  2. 通过 PdfDocument.DocumentInformation 属性获取该PDF文档的属性。
  3. 通过 PdfDocumentInformation 类下的属性获取特定属性。
  4. 使用 PdfDocumentInformation.GetCustomProperty() 方法获取特定的自定义属性。
  5. 输出属性内容。

代码示例
Python

from spire.pdf import *
from spire.pdf.common import *# 创建PdfDocument对象并载入PDF文档
pdf = PdfDocument()
pdf.LoadFromFile("PDF属性.pdf")# 获取PDF文档属性
properties = pdf.DocumentInformation# 创建字符串
information = ""# 获取默认属性
information += "作者: " + properties.Author
information += "\n标题: " + properties.Title
information += "\n主题: " + properties.Subject
information += "\n关键字: " + properties.Keywords
information += "\n应用程序: " + properties.Creator
information += "\nPDF 制作程序: " + properties.Producer# 获取自定义属性
information += "\n公司: " + properties.GetCustomProperty("公司")
information += "\n标签: " + properties.GetCustomProperty("标签")# 输出文档属性
print(information)
pdf.Close()

输出结果
获取PDF文档默认属性和自定义属性

以上内容介绍了如何使用Python设置和获取PDF文档的默认属性和自定义属性,帮助文档管理及文档识别。Spire.PDF for Python还支持许多其他功能,前往Spire.PDF for Python教程查看更多内容。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/171373.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【JVM】类加载器 Bootstrap、Extension、Application、User Define 以及 双亲委派

以下环境为 jdk1.8 两大类 分类成员语言继承关系引导类加载器bootstrap 引导类加载器C/C无自定义类加载器extension 拓展类加载器、application 系统/应用类加载器、user define 用户自定义类加载器Java继承于 java.lang.ClassLoader 四小类 Bootstrap 引导类加载器 负责加…

HTML设置标签栏的图标

添加此图标最简单的方法无需修改内容,只需按以下步骤操作即可: 1.准备一个 ico 格式的图标 2.将该图标命名为 favicon.ico 3.将图标文件置于index.html同级目录即可 为什么我的没有变化? 答曰:ShiftF5强制刷新一下网页就行了

类和对象(4):Date类.运算符重载 1

一、赋值运算符重载 1.1 运算符重载 运算符重载是具有特殊函数名的函数,函数名字为:关键词operator需要重载的运算符符号。 不能重载C/C中未出现的符号,如:operator。重载操作符必须有一个类类型参数。不能改变用于内置类型运算…

kubeadm部署k8s及高可用

目录 CNI 网络组件 1、flannel的功能 2、flannel的三种模式 3、flannel的UDP模式工作原理 4、flannel的VXLAN模式工作原理 5、Calico主要组成部分 6、calico的IPIP模式工作原理 7、calico的BGP模式工作原理 8、flannel 和 calico 的区别 Kubeadm部署k8s及高可用 1、…

RabbitMQ-基础篇-黑马程序员

代码: 链接: https://pan.baidu.com/s/1nQBIgB_SbzoKu_XMWZ3JoA?pwdaeoe 提取码:aeoe 微服务一旦拆分,必然涉及到服务之间的相互调用,目前我们服务之间调用采用的都是基于OpenFeign的调用。这种调用中,调…

使用 `open-uri.with_proxy` 方法打开网页

Ruby 爬虫程序如下: require open-uri require nokogiri# 定义代理信息 proxy_host jshk.com.cn# 定义要爬取的网页 URL url http://www.example.com# 使用代理信息打开网页 open-uri.with_proxy(proxy_host, proxy_port) do |proxy|# 使用 Nokogiri 库解析网页内…

VB.net TCP服务端监听端口接收客户端RFID网络读卡器上传的读卡数据

本 示例使用设备介绍:WIFI/TCP/UDP/HTTP协议RFID液显网络读卡器可二次开发语音播报POE-淘宝网 (taobao.com) Imports System.Threading Imports System.Net Imports System.Net.Sockets Public Class Form1Dim ListenSocket As SocketDim Dict As New Dictionary(Of…

032-从零搭建微服务-定时服务(一)

写在最前 如果这个项目让你有所收获,记得 Star 关注哦,这对我是非常不错的鼓励与支持。 源码地址(后端):mingyue: 🎉 基于 Spring Boot、Spring Cloud & Alibaba 的分布式微服务架构基础服务中心 源…

【数据结构】树与二叉树(八):二叉树的中序遍历(非递归算法NIO)

文章目录 5.2.1 二叉树二叉树性质引理5.1:二叉树中层数为i的结点至多有 2 i 2^i 2i个,其中 i ≥ 0 i \geq 0 i≥0。引理5.2:高度为k的二叉树中至多有 2 k 1 − 1 2^{k1}-1 2k1−1个结点,其中 k ≥ 0 k \geq 0 k≥0。引理5.3&…

20.1 platform 设备驱动

一、Linux 驱动的分离与分层 1. 驱动的分隔和分离 现在有三个平台,A、B 和 C,这三个平台都有 MPU6050 设备。编写最简单的驱动框架如下图: 每个平台下都有一个主机驱动和设备驱动,主机驱动是必要的,因为不同的平台 I2…

服务器数据恢复—磁盘出现坏道掉线导致raid5阵列崩溃的数据恢复案例

服务器数据恢复环境: 某品牌服务器中有一组16块SAS接口硬盘组建的raid5磁盘阵列。 服务器故障&检测: 服务器raid5阵列中有2块硬盘掉线,上层服务器应用崩溃,导致服务器数据丢失。丢失的数据主要是4个1.5TB大小的卷中的数据&am…

Mysql-表的结构操作

1.创建表 CREATE TABLE table_name ( field1 datatype, field2 datatype, field3 datatype ) character set 字符集 collate 校验规则 engine 存储引擎 ; 说明: field 表示列名 datatype 表示列的类型 character set 字符集,如果没有指定字…