Python系列 之 PyPDF2库

本文介绍了Python的PyPDF2库,详细讲解了PdfFileReader、PdfFileWriter和PdfFileMerger对象以及PageObject的使用,包括读取、写入、合并PDF文件以及页面操作的方法,并提供了一个实例演示如何合并PDF并添加水印。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python系列 之 PyPDF2库 学习

PyPDF2中主要涉及到的几个对象有 PdfFileReader、PdfFileWriter和PdfFileMerger以及PageObject

PdfFileReader

PdfFileReader对象:

import PyPDF2
PyPDF2.PdfFileReader(stream , strict=True , warndest=None , overwriteWarnings=True))
# 参数
# stream :一个 File 对象或支持类似于 File 对象;也可以是表示 PDF 文件路径的字符

# 初始化一个Reader对象
# pdfReader = PyPDF2.PdfFileReader(stream=open(file='pdf2.pdf', mode='rb'))
pdfReader = PyPDF2.PdfFileReader('pdf2.pdf')

PdfFileReader对象的一些属性和方法:

属性 说明
documentInfo 获取PDF文件的文档信息字典
isEncrypted PDF文件是否加密
numPages 返回PDF文件的页数
pages 相当于返回PDF文件所有页面,每个页面pageObject对象的列表
pageLayout 获取PDF文件的页面布局
pageMode 获取PDF文件的页面模式
xmpMetadata 从PDF文件根目录检索XMP数据
方法 说明
decrypt(password) 解密
getDocumentInfo() 同documentInfo属性
getNumPages() 同numPages 属性
getPage(pageNumber) 获取PDF文件中第pageNumber+1页的PageObject对象 pageNumber基于0
getPageLayout() 同pageLayout属性
getPageMode() 同pageMode属性
getPageNumber(page) 获取 PageObject对象所在PDFFileReader对象的页数
getXmpMetadata() 同xmpMetadata属性

简单示例:

# 返回 PDF 文件的文档信息字典
print('PDF 文件的文档信息字典:', pdfReader.getDocumentInfo(), pdfReader.documentInfo)

# 返回PDF文件的页数
print('PDF文件的页数:', pdfReader.getNumPages(), pdfReader.numPages)

# PageObject = PdfFileReader.getPage(pageNumber)
# 获取PdfFileReader中第pageNumber+1页的PageObject对象  pageNumber基于0
page_obj = pdfReader.getPage(1)
print(type(page_obj))

# 获取 PageObject对象 所在PDFFileReader对象的页数 如果找不到页面 返回 -1
print('page_obj所在的页数:', pdfReader.getPageNumber(page=page_obj))

# 获取页面布局 返回当前使用的页面布局
print('获取页面布局:', pdfReader.getPageLayout())

# 获取页面模式 返回 当前使用的页面模式
print('获取页面模式:', pdfReader.getPageMode())

# 从 PDF 文档根目录检索 XMP 数据
print('检索 XMP 数据:', pdfReader.getXmpMetadata())

# 判断该PDF是否加密
print('判断该PDF是否加密:', pdfReader.isEncrypted)

# PDFFileReader的每页pageObject的list?
print(type(pdfReader.pages))
PyPDF2是一个Python,用于读取和写入PDF文件。可以使用pip命令安装PyPDF2。安装完成后,可以使用PyPDF2提供的PdfFileWriter类来创建一个PdfFileWriter对象,用于写入和生成PDF文件。 要使用PyPDF2,需要确保Python解释器的版本符合PyPDF2的要求。可以直接使用pip命令进行安装。 要提取PDF文档的内容,可以使用PyPDF2的PdfFileReader类。可以通过传入一个文件对象或表示PDF文件路径的字符串来初始化一个PdfFileReader对象。然后可以使用该对象来访问和处理PDF文档的内容。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Python系列PyPDF2](https://blog.csdn.net/xiaomage0511/article/details/124185557)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [PyPDF2:使用Python操作PDF文件](https://blog.csdn.net/PolarisRisingWar/article/details/125030542)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值